CrackMe (abex's 3rd crackme)
먼저 실행을 해보면
키 파일을 확인한다고 한다. 일단 확인을 눌러보자.
파일을 찾을 수 없다고 뜬다.
올디로 파일을 열어보니 지금까지 보았던 메세지창을 볼 수 있으며 키파일을 찾았다는 메세지와 키파일 값이 다르다는 메세지도 뜬다는 것을 확인 할 수 있다.
먼저 0X00401034 에서 비교를 하여 다음에 해당하는 값이 아니면 점프를 한다. 그런데 비교하는 값 위에 CreateFileA 함수를 OPEN_EXISTING 모드로 열어 abex.l2c 이라는 파일이 열려 존재하는지 확인한다.
| 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 (Project1) (0) | 2015.05.19 |
CrackMe(babylon keygenme) (0) | 2015.05.19 |
CrackMe2(cffo-2) (0) | 2015.05.18 |