리버스엔지니어링 문제 9
2015. 3. 29. 15:10ㆍSecurity ★ Development/Reversing
반응형
http://codeengn.com/challenges/basic/09
StolenByte는 프로그램의 한 부분을 다른 부분으로 옮긴 코드 구역을 말합니다. 문제를 풀다보면 더 이해가 쉬울겁니다.
패킹 되어있었기에 OEP를 찾으면 해당 위치로옵니다. 그런데 앞부분에 NOP부분들이 있습니다. 그리고 좀 주의깊게 봐야하는데 MessageBoxA함수를 호출하는 부분이 있습니다. MessageBoxA는 총 4개의 인자를 받습니다. 그런데 위에는 PUSH가 하나밖에 없죠. 앞 부분이 잘려나간겁니다.
OEP로 점프하기 바로 전의 부분입니다. ASCII 부분에 보면 POPAD 바로 아래 3개의 PUSH가 있습니다. 이 부분이 잘려나간 부분으로 StolenByte에 속합니다. 문제의 답으로는 OPCode가 됩니다.
6A 00
68 00204000
68 12204000
이를 붙여주면 됩니다. 6A0068002040006812204000
'Security ★ Development > Reversing' 카테고리의 다른 글
리버스엔지니어링 문제 11 (0) | 2015.04.03 |
---|---|
리버스엔지니어링 문제 10 (0) | 2015.04.03 |
리버스엔지니어링 문제 8 (0) | 2015.03.29 |
리버스엔지니어링 문제 7 (0) | 2015.03.29 |
리버스엔지니어링 문제 6 (0) | 2015.03.23 |