반응형



이번 문제는 그림을 그려서 맞추는 문제입니다.

ida로 열어보겠습니다.






이 부분이 우리가 그린 그림과 정답 그림을 비교 하는 부분입니다.

정답 그림은 리소스 파일로 저정되어 있나 봅니다.





예상대로 리소스 파일에 비트맵 파일이 있지만

헤더는 없습니다. 그러므로 해더를 만들어야 합니다.


참고 사이트 

이 사이트를 참고해서 해더를 만들어 보면
(쉬운 방법은 그림판으로 비트맵을 만들어 수정하면 됩니다)
가로 세로 길이가 문제가 되는데
이건 동적 디버깅을 통해 윗 핵스레이의
cLines와 v16을 알아내면 됩니다.








'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy KeygenMe  (0) 2015.09.11
ReversingKR Easy CrackMe  (0) 2015.09.08
반응형



Dialog의 체크 부분입니다.

0x40105A에서 입력받은 값을 불러옵니다

0x40466F를 호출하고 난뒤가 약간 이상한데

무조건 Correct부분을 뛰어넘는 부분입니다.







소스를 설명하면

입력받은 값을 2 더한 다음

다시 0x601605c7과 더하고 2 더한 뒤 

0x40466f에다 0xc39000c6을 넣습니

0xc3900c6을 변환하면

mov byte ptr [eax], 0x90

retn

입니다.

그러므로 eax값을 0x401071로 맞춰줄 필요가 있습니다.


원래 연산 때 더하면서 윗 바이트가 짤리므로 

기준 주소를 0x100401071

이라고 생각해야 합니다.


0x100401071 - 2 - 0x601605c7 - 2 = 0xA02A0AA6


KEY: 2687109798



'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy KeygenMe  (0) 2015.09.11
ReversingKR Easy CrackMe  (0) 2015.09.08
반응형


문제 이름이 Easy이듯이 메인은 간단합니다.



0x804A020에다 입력값을 저장합니다.



일단 12번째 줄로 인해 입력 값의 길이는 5임을 알 수 있습니다.

첫 번째 글자 = 0x78 ^ 0x34

두 번째 글자 = '1'

세 번째 글자 = 0x32 ^ 0x7c

네 번째 글자 = 0x88 ^ 0xdd

다섯 번째 글자 = 'X'


KEY: L1NUX


'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy KeygenMe  (0) 2015.09.11
ReversingKR Easy CrackMe  (0) 2015.09.08
반응형

ReadMe

ReversingKr UnpackMe

Find the OEP

ex) 00401000


어떤 Packer로 되어있는지 확인해 보았습니다.



자작 페커를 사용하셨나 봅니다.



이부분은 409000~4094EE부분을 언펙하는 부분입니다.



IAT를 복원하고 줄줄히 밑으로 복원합니다.



마지막에 JMP를 통해 OEP로 가게 됩니다.

이런 방식의 Packer는 UPX를 약간 개조한 것 같습니다.


KEY: 00401150


'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy KeygenMe  (0) 2015.09.11
ReversingKR Easy CrackMe  (0) 2015.09.08
반응형

ReadMe

ReversingKr KeygenMe

Find the Name when the Serial is 5B134977135E7D13



이름을 입력받아 시리얼을 만드는 모양인 것 같습니다.

IDA로 열어보았습니다.



이걸 통해 시리얼을 사용해 이름을 만드는 소스를 만들었습니다.

#include<stdio.h>

#include<string.h>

int main(void)

{

char Serial[100]={0};

char Name[100]={0};

char Seed[3]={16,32,48};

int i,k;

scanf("%s",Serial);

for(i=0,k=0;i<strlen(Serial)/2;i++,k++)

{

k%=3;

sscanf(Serial + (i * 2), "%2x", &Name[i]);

Name[i] ^= Seed[k];

}

printf("%s\n",Name);

return 0;

}


KEY: K3yg3nm3

'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy CrackMe  (0) 2015.09.08
반응형


정말 심플한 CrackMe 입니다.

디버거로 바로 열어보겠습니다.




ID가 1000인 리소스를 불러옵니다.

아마도 메인 다이얼로그의 TEXT일 겁니다.



리소스해커로 열어보니 1000이 

메인 다이얼로그의 TEXT라는 것을 알 수 있습니다.



IDA의 Hex-Ray로 열어본 사진입니다.

이걸통해 Key값은

KEY: Ea5yR3versing

임을 알 수 있습니다.

'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy KeygenMe  (0) 2015.09.11

+ Recent posts