http://reversing.kr의 AutoHotkey1,2 문제를 푸는 도중
UPX 패킹과 관련된 부분이 나와서 UPX 패킹에 대해 개념 정리를 해보기로 했다.
UPX 패킹?
패킹은 "실행 압축"이라고 표현할 수 있다.
실행 파일 내부에 있는 코드를 압축하여 평소에는 코드를 압축한 상태로 저장하고 있다가
파일을 실행하면 메모리에서 압축을 해제 시킨 후 파일을 실행시키는 기술이다.
PE, UPX 프로그램 패킹의 흐름
UPX 패킹 확인
Exeinfo PE 툴로 UPX 패킹이 됐는지 확인할 수 있다.
UPX 패킹
upx -o "생성될 패킹 파일 경로" "패킹에 사용할 파일 경로"
UPX 언패킹
upx -d "언패킹 할 파일"
UPX 패킹 파일 Ollydbg 분석
PUSHAD : CPU 레지스터 값들을 모두 스택에 넣는 명령어
POPAD: 반대로 스택에 넣은 값들을 모두 CPU 레지스터로 복귀시키는 명령어
참고 자료 :
'2. Reversing (리버싱) > 2) 개념 정리' 카테고리의 다른 글
[2021.09.18] abex crackme 1&2, 어셈블러 (0) | 2021.09.18 |
---|---|
[2021.09.11] 리버싱을 위한 준비, codeengn basic 01 (0) | 2021.09.12 |
[2021.09.11] 코드 분석, PE FILE FORMAT (0) | 2021.09.11 |
[ 2021.09.04 ] 01. 리버싱을 위한 기초 지식 (0) | 2021.09.07 |
[2020.04.07] 리버싱 개념정리 - PEid EPsection과 DLL, IAT정보 (0) | 2020.04.26 |