NOTICE


 nSpack V2.x -> LiuXingPing [Overlay] *로 실행 압축된 파일의 Unpacking 방법에 대해 알아보겠습니다. 이론적인 설명은 배재하고 압축 해제 방법만 간단히 소개하도록 하겠습니다. 분석에 사용한 샘플 파일과 분석 도구 정보는 다음과 같습니다.


 - 샘플 파일 정보

 파일 이름

 cpuz.exe

 파일 크기

 111,978 byte

 MD5

 EC1E1536414FA69608E7FC496BA03E14


 - 분석 Tool 정보

 파일 이름

파일 이름

OllyDBG.exe

 PEiD.exe



1. 실행 압축 확인

 가장 먼저 해야 할 일은 샘플 파일의 실행 압축 여부를 확인하는 것입니다. PEiD.exe를 사용해 cpuz.exe 파일의 실행 압축을 확인해보면 [그림 1.1.]과 같습니다.


[그림 1.1.] 실행 압축 확인



2. 압축 해제하기

 nSpack으로 실행 압축되어 있는 파일의 압축 해제 방법은 매우 쉽습니다. EP가 PUSHFD와 PUSHAD로 시작합니다.


[그림 2.1.] nSpack으로 실행 압축한 파일 EP 확인


 Ctrl+F로 POPFD를 찾으면 아래 JMP 코드를 확인할 수 있다. 해당 점프 코드에 BP를 걸고 F9하면 모든 압축 해제 과정이 끝나고 OEP로 이동하기 전에 멈춥니다.


[그림 2.2.] 압축해제 완료


 여기서 F7을 사용해서 OEP로 이동한 뒤 덤프 파일을 만들면 Unpack이 완료됩니다.


 이상으로 '[Unpack] nSpack V2.x -> LiuXingPing [Overlay] *' 압축 해제 과정 포스트를 마치겠습니다.