JMP 하지 않고 내려올 수 있었다. 그리고 다음 분기문을 찾아보자.
뭔가 여기인 것 같은데 EAX 값을 살펴보자.
스택에는 내가 적은 값이 저장되는 것을 확인할 수 있다.
이제 CALL 함수 내부를 살피며 어떻게 하면 EAX값에 0이 반환될 수 있을지 살펴보자.
전체함수는 이렇다.
우리는 00401171부분과 CMP문이 있는 부분을 살펴보면 된다.
ESI-1은
해당 부분이고
EDI-1은 19 F77A이다.
내가 적은 값이 기록된다.
해당 부분에서 5y와 내가 적은 값 8bit가 동일한지 확인하여 JA에서 JMP를 하거나 JE부분으로 넘어가는 것을 확인할 수 있다. 저기서 JMP를 해버리면 NOT연산으로 ECX값이 0이 아니게 되어 EAX값도 0이 아니게 된다.
이제 _a5y____를 입력하고 계속 살펴보자.
JMP 하지 않고 내려오는 것을 확인할 수 있다.
뭔가 R3versing을 입력해야한다는 느낌을 받을 수 있다. 일단 넣고 확인해보자.
맨 첫번째 글자를 알아내야하는데 왠지 CMP 문이있고 JNZ문이 있으니 여기인 것 같다. 45는 E 이니 넣고 확인해보자.
성공 !
'Reverse Engineering > reversing.kr' 카테고리의 다른 글
| [리버싱] Easy Crack (0) | 2025.03.25 |
|---|