파일을 실행시켜 보면 이미지를 그리라하고 아무거나 그려넘기면 틀렸다고 나온다. 내가 그린 그림의 대한 어떤 값과 해당 파일이 가지고 이름 그림에 대한 값이 비교될 것이고 그 해당값을 알아내면 끝. 위의 루틴을 보면 ECX에 있는 값과 EAX+ECX에 있는 값을 15F90(90000)번 비교한 후 실패메시지로 넘어가는 것을 볼 수 있다. 맨 처음 EAX+ECX 메모리 주소값인 0047E060에서 15E90을 더한 00493FF0 까지의 값을 구해온 뒤 내가그린 값인 ECX부터 ECX + 15E90까지의 값에 정답 값을 넣어주고 실행시켜봤다. 뭔가 정답이 나올줄 알았는데 틀렸다는 메시지만 안나올뿐 아무런 반응이 없었다. 그렇다면 이 값을 가지고 어떠한 이미지 파일을 만들면 될 것 같았다. 그래서 해당 코드부터 위쪽을 좀 봤더니 요런게 있었다. CreateCompatibleBitmap이란 함수로 가로 200 세로 150짜리 bitmap 이미지 파일을 생성한 것을 볼 수 있었다. 그렇다면 이 실행파일은 위의 크기의 bitmap파일에 기존에 비교했던 값들을 담고 있었다고 생각해봤다. 그래서 그림판으로 bitmap 파일을 하나 만든 후 hexeditor로 정답값에 대한 binary값을 넣어봤다. 만들어진 bitmap 파일을 열어보니 정답이 나왔당.
|
'Wargame > reversing.kr' 카테고리의 다른 글
Reversing.kr Music Player (0) | 2018.02.16 |
---|---|
Reversing.kr Direct3D FPS (0) | 2018.01.21 |
Revering.kr Replace (0) | 2018.01.21 |
Reversing.kr Easy Crack me (0) | 2018.01.21 |
Reversing.kr Easy Unpack (0) | 2018.01.21 |