Halo World

[크랙미] Simples 크랙미 12번 풀이 본문

보안/REVERSE ENGINEERING

[크랙미] Simples 크랙미 12번 풀이

_Yeony 2016. 4. 30. 15:32

이번엔 12번 문제 풀이입니다!

 

 

 

파일을 실행시키면 위와 같은 메시지창이 3개 뜨는데요.

마지막 메시지 창을 보시면 NAG NAG위에 REMOVE ME라고 되어있습니다. 저 메시지 창을 지우면 될 것 같습니다!

 

F8로 실행시키다 보면 위와 같은 화면이 나오는데요.

그냥 메시지 창을 3개 띄우고 종료하는 프로그램 입니다.

그중 NAG NAG 메시지 창은 제일 아래 쪽에 있네요.

 

마지막 메시지 창을 띄우지 않으려면 마지막 메시지박스의 CALL로 MessageBoxA 함수를 호출하는 부분을 ExitProcess함수를 호출하도록 바꾸어 주면 됩니다.

ExitProcess함수의 주소인 00101046을 입력해 주면 완성입니다.

 

 

 

지금은 왜 때문인지 사이트가 열리지 않지만, 원래 심플즈 사이트에는 저 3번째 메시지 박스의 옵코드의 바이트 수를 세는 문제가 있었다고 하는데요.

저기 노란색으로 밑줄 친 부분이 세번째 메시지 박스의 옵코드인데요.

세어보면 38개입니다.

그런데 하나당 2진수 4비트로 되어있으니, 총 38X4 = 152비트가 되네요.

바이트 수이므로 8로 나누면, 152/8=19 즉, 총 19바이트가 됩니다.