a. POPAD를 찾는 과정과 POPAD에 브레이크 포인트를 걸어
OEP로 점프하는 과정
실습파일 notepad_upx.exe
OEP(Original Entry Point): 패킹된 파일을 실행할 때 시스템 내부에서 자동적으로 하는 언패킹이 끝나면 복구한 원본코드를 동작시켜야 하는데, 이 원본코드의 Entry Point
UPX 패커 특징: EP 코드가 PUSHAD~POPAD 명령어로 쌓여 있음
보통 POPAD 명령어 밑에 점프문이 있고, 이 점프문이 OEP로 가는 코드인 경우가 대부분
Search for - All commands 로 POPAD에 B.P를 다 건다

POPAD가 있는 부분 코드 밑에서 JMP를 찾아본다






찾았다

b. UPX 언패킹 도구 찾아서 언패킹 해보기
upx303w 툴을 다운로드받아 해봤다.
언패킹을 진행할 파일을 해당 폴더 안에 넣는다.

cmd 창을 열어 cd 명령어로 해당 폴더로 이동한 뒤,
upx -d (언패킹할 파일) 을 입력한다.

이때 upx303w 폴더가 C드라이브에 있어야만 되는 것 같다. 다른 드라이브에 저장시키니 정상적인 구동이 안 됐다.
'공부 > 리버싱 핵심원리' 카테고리의 다른 글
| Windows 메시지 후킹 (0) | 2024.05.21 |
|---|---|
| 인라인 패치 실습 (0) | 2024.05.14 |
| IAT 따라가기 (0) | 2024.05.12 |
| PE File Format (0) | 2024.05.11 |
| Lena's Reversing for Newbies (0) | 2024.04.17 |