프로그래밍/보안, 서버

용량도 줄이고 보안도 지키는 패킹(packing) 그리고 언패킹(unpacking)

당근천국 2011. 11. 4. 10:03

패킹(packing)은

1) 배포를 위해 파일의 크기를 줄이거나

2) 보안성을 높이기 위해 합니다.

일종의 실행이 가능한 압축파일이라고 생각하면 편합니다.

 

언패킹(unpacking)은 패킹된 파일을 푸는것을 말합니다.

 

패킹툴이나 언패킹툴 양쪽다 조금만 검색해도 많은 정보가 나오므로 따로 다루진 안겠습니다.

 

 

1. 패킹(packing)

패킹 방식에 따라 언패킹이 쉬울수도 어려울 수도 있습니다.

 

패킹 관련 툴들은 다음과 같은 것들이 있습니다.

UPX - GPL로 배포되는 무료 툴입니다..

ASPack - 유료

PECompact - 유료

 

 

2. 언패킹(unpacking)

언패킹이라는 것은 말그대로 패킹한 프로그램을 푼다는 의미입니다.(으잌?)

 

좋은쪽으로 보자면 분명같은 응용프로그램인데 한쪽이 용량이 많다면 안좋은 것들(바이러스라던가 해킹툴이라던가)이 섞여있을지 모르니 분석하기위해 시도할수 있죠.

하지만 보통은 남의 프로그램 분석용으로 많이 씁니다;;;;

 

언패킹을 하기위해서 해당 파일이 어떤방식으로 패킹이 되었는지 알아야 합니다.

파일의 정보를 보는 프로그램도 많습니다.

이런 프로그램을 통해 확인하는 것이죠.

 

저는 주로 Exeinfo PE와 PEID를 사용합니다.

(둘의 차이는 모르겠네요.)

 

Exeinfo PE

다운로드 페이지 - Exeinfo PE for Windows by A.S.L.

ExeinfoPE 0.0.3.0 -

exeinfope.zip
다운로드

 

 

PEiD

다운로드 페이지 - softpedia

PEiD 0.95 

PEiD-0.95-20081103.zip
다운로드

 

 

마무리

안철수 연구소 ASEC 대응팀 - Tool을 이용한 초간단 언패킹! (UPX편)