본문 바로가기
Q&A2021년 12월 2일1분 읽기

바이너리 패킹과 언패킹이 뭔가요?

홍
홍재원
조회 449댓글 1

악성코드 분석에서 패킹(packing)이란 게 뭔가요? 어떻게 언패킹하나요?

댓글 1

김김영삼4년 전

패킹은 실행 파일을 압축/암호화하여 분석을 어렵게 만드는 기법입니다.

목적:

  • 리버싱 방해 (안티 디버깅)
  • 안티바이러스 시그니처 우회
  • 파일 크기 축소

유명 패커:

  • UPX — 가장 흔한 오픈소스 패커
  • Themida — 강력한 상용 프로텍터
  • VMProtect — 가상화 기반 난독화

언패킹:

# UPX 언패킹 (간단)
upx -d packed.exe

# 수동 언패킹 (OEP 찾기)
1. 디버거로 실행
2. OEP(Original Entry Point) 도달
3. 메모리에서 덤프
4. IAT(Import Address Table) 복구 — Scylla 사용

UPX 외의 패커는 수동 언패킹이 필요하며, 상당한 리버싱 실력이 요구됩니다.

Ctrl+Enter로 등록