codeengn) basic 10
Reversing/CodeEngn
2014. 11. 21. 20:11
codeengn10번문제는 oep를 구하고 분기점의 opcode를 구하는 문제 입니다.
codeengn basic 10번 문제는 ASPack으로 패킹되어 있습니다.
ASPack은 retn 0c값을 찾은 뒤에 밑에 있는 retn 으로 가면 OEP가 나옴니다.
ctrl + f 로 retn 0c를 찾아 줌니다.
bp를 걸어주시고요
f9후 retn값을 지나면!!!
다음과 같이 나옴니다.
여기서 오른쪽클릭후 analyze this 를 해서 정리 해줌니다.
정리를 하면 다음과 같이 됨니다.
이제 덤프를 해줌니다.
덤프를 할때는 리빌드를 해제해 주시고 덤프를 함니다.
lord pe툴로 리빌드를 해줌니다.
정상적으로 언팩이 되었습니다.
이제 문자열을 검색하여 분기점을 찾도록 하겟습니다.
JNZ는 ZF가 0이 아닐때 점프 합니다.
일종의 분기점이져
따라서 분기점의 opcode는 7555입니다.
oep와 분기점의 opcode를 합치면
004458347555입니다.
'Reversing > CodeEngn' 카테고리의 다른 글
codeengn) basic 12 (0) | 2014.11.21 |
---|---|
codeengn) basic 11 (0) | 2014.11.21 |
codeengn) basic 07 (0) | 2014.11.17 |
codeengn) basic 03 (0) | 2014.11.17 |
codeengn) bisic 05 (0) | 2014.11.16 |