티스토리 뷰

컴퓨팅/리버싱

UPX 압축 시 OEP 찾는 법

에어버스 2013. 5. 15. 19:45

UPX 로 압축을 하면 코드는 PUSHAD 와 POPAD 는 한 쌍이 된다.
PUSHAD 실행 후 맨위의 스택 주소를 덤프하여 BYTE H/W BreakPoint를 지정하고 실행하면 POPAD 다음에서 멈추게된다. 이떄, JMP 에 있는 주소가 OEP(Original Entry Point)가 된다. EOP 는 압축 전 실행파일의 EP가 된다.

PUSHAD : EAX ~ EDI 값을 스택에 저장
POPAD : 스택에서 EAX ~ EDI에 복원

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31