PE 분석
python으로 PE 파일을 분석해보도록 하겠습니다.
먼저 기본적으로 설치된 python에는 pefile 모듈이 존재 하지 않습니다.
ImmunityDBG의 모든 모듈은 C:\Program Files (x86)\Immunity Inc\Immunity Debugger\Libs 해당 경로에 저장되어있습니다.
pefile 모듈을 사용하기 위해서 위 경로에서 pefile.py와 pelib.py를 C:\python27\Libs에 넣어두도록 합니다.
우분투에서 사용할 때는 /usr/lib/python2.7에 추가하도록 합니다.
위 소스코드를 보도록 하죠.
pefile은 PE 파일을 분석하기 위한 모듈이며 pprint는 pretty-print 모듈로 말 그대로 예쁘게, 보기좋게 출력을 해주는 모듈입니다.
한번 pprint를 하지 않고 그냥 출력해보세요. ^^
PE 파일 분석은 기본적으로 PE구조를 알아야 합니다.
pprint.pprint(dir(pe.DOS_HEADER))를 입력하면 해당 파일의 DOS_HEADER에 대한 정보를 가져옵니다.
위의 값들 중에 어느 한 값을 가져오기 위해서는 다음과 같이 작성합니다.
e_magic의 값을 출력하고 있습니다.
해당 PE 파일에 여러 Section들이 존재합니다. 해당 Section들은 List 형식으로 저장되며, 각 인덱스 값을 주면서 출력하면 해당 Section의 이름이 나오게 됩니다.
이러한 방식으로 PE Viewer를 만들 수 있습니다.
'Programming > Python' 카테고리의 다른 글
PyDBG (0) | 2016.03.15 |
---|---|
Pydasm을 이용한 디스어셈블링 (0) | 2016.03.15 |
Pyhook (2) | 2016.03.14 |
Assemble, Disassemble, Search (0) | 2016.03.14 |
Immunity DBG 기초 (0) | 2016.03.14 |