본문 바로가기

Wargame/crackme

abex' crack me #1

crackme 문제들의 출처를 열심히 찾아봤는데 http://crackmes.de/users/abex/ 여기라고 한다.

지금은 닫힌 것 같고 풀이를 올린 분들의 티스토리나 네이버 카페에 남은 파일들로 사람들이 꾸준히 푸는 것 같다.

2012년과 2015년 풀이가 있는 걸로 보아 오래 전부터 유명한 문제인 것 같다.

 

확인을 누르면 이런 창이 나온다.

이 창의 문장을 CD-ROM이 맞다는 문장으로 바꿔주면 성공인 문제이다.

 

먼저 exe 파일을 Immunity Debugger에 넣었더니 아래의 결과가 나왔다.

오른쪽 부분의 주석들로 보아 F7로 안으로 들어가서 확인해주지 않아도 될 것 같아서 F8로 쭉 실행시켰더니 0040103B 부분에서 00401050주소로 뛰어넘는 걸 확인할 수 있었다. 그런데 주석부분을 살펴보면 파일에서 뛰어넘는 부분에 Ok, I really think that ~ 이라는 text 가 있는 걸로 보아 우리는 이 문장을 출력하도록 바꿔주어야 한다는 것을 알 수 있다.

 

우리가 출력하고 싶은 문장이 출력되기 위해서는 문제 파일에서 처음 마지막에 나왔던 문장인 Nah... This is not ~~ 문장을 출력하지 않고 바로 0040103D 부분으로 가서 실행되게 해야 한다. 00401026에서 원래 JE 였던 것을 JNE로 바꿔주면 JNZ로 바뀌게 된다. 그 후 실행시키면 아래의 사진이 나오면서 성공이다.

 

*또 다른 풀이방법으로는 JE를 JMP로 바꿔줘서 무조건 jump하도록 만들어주는 방법도 있다.