My Study/CrackMe

CrackMe (abex's 3rd crackme)


Crackme_03.exe


먼저 실행을 해보면


키 파일을 확인한다고 한다. 일단 확인을 눌러보자.



파일을 찾을 수 없다고 뜬다.


올디로 파일을 열어보니 지금까지 보았던 메세지창을 볼 수 있으며 키파일을 찾았다는 메세지와 키파일 값이 다르다는 메세지도 뜬다는 것을 확인 할 수 있다.

먼저 0X00401034 에서 비교를 하여 다음에 해당하는 값이 아니면 점프를 한다. 그런데 비교하는 값 위에 CreateFileA 함수를 OPEN_EXISTING 모드로 열어 abex.l2c 이라는 파일이 열려 존재하는지 확인한다.

OPEN_EXISTING
반환값 : 3

Opens a file or device, only if it exists.

파일 또는 장치를 존재하는지 확인힌다.

If the specified file or device does not exist, the function fails and the last-error code is set to ERROR_FILE_NOT_FOUND (2).

만약 특별한 파일 또는 장치가 존재하지 않으면, 실패하여 마지막 에러 코드인 ERROR_FILE_NOT_FOUND 반환한다.

실행한 뒤 -1로 셋팅이 되었다. 음... 그럼 abex.l2c 파일을 만들어보자. 이 파일은 텍스트파일을 abex.l2c 라고 확장명까지 변경하여 생성하였다. 그랬더니 EAX가 0으로 셋팅되고 0x00401034를 지나치쳐 아래와 같이 창이 뜨게 되었다.



그리고 EAX값을 확인해 보았더니 0으로 셋팅 되어있다.




분기점을 찾아보니 GetFileSize 함수를 실행한 뒤 EAX값과 0x12를 비교한 뒤 점프를 한다. 한번 abex.l2c에 test라고 쓰고 한번더 실행해보자.




EAX가 4로 변경이 되었다. 여기서 글자수가 EAX 값이라는 것을 알게 되었다. 이제 0X12 즉 18바이트를 입력하여 파일을 저장하여보자.





EAX값이 0X12가 되었으며 아래와같이 창이 떴다.




간단한 문제 풀이었다.







'My Study > CrackMe' 카테고리의 다른 글

CrackMe (abex's 2nd crackme)  (0) 2015.05.24
CrackMe(RegisterMe)  (0) 2015.05.21
CrackMe (abex's 3rd crackme)  (0) 2015.05.20
CrackMe (Project1)  (0) 2015.05.19
CrackMe(babylon keygenme)  (0) 2015.05.19
CrackMe2(cffo-2)  (0) 2015.05.18

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.