D1N0's hacking blog
UPX 패킹된 파일의 OEP 구하기 본문
1. pushad, popad
x96dbg로 패킹된 파일을 열어 사용자 코드로 실행을 하면 pushad 명령을 찾을 수 있다
프로그램 실행을 위한 언패킹 전에 레지스터 상태를 스택에 저장하고, 언패킹이 끝날때 popad 명령으로 레지스터를 복구한다
pushad를 실행하고 esp를 덤프해서 따라가면 레지스터들이 보인다
저 주소에 하드웨어 중단점을 걸어준다
그리고 F9로 실행하면 언패킹이 끝난 주소에서 멈춘다
위에서 popad 명령이 실행된 것을 확인할 수 있다
jmp 08.1012475가 보이는데, 이 01012475가 이 프로그램의 OEP이다
2. Exeinfo PE
일단 upx로 파일을 언패킹해준다
그리고 Exeinfo로 보면 EP를 바로 알 수 있다
PE버튼을 눌러 헤더 정보를 보면 Image base를 알 수 있다
OEP는 EP랑 Image base를 더한 01012475이다
'Reversing' 카테고리의 다른 글
Z3 solver 정리 (0) | 2020.12.14 |
---|
Comments