2013-10-11 2 views
0

누군가가 파이썬을 어떻게 사용할 수 있는지 제안 할 수 있습니까? 가져 오기 주소 테이블 및 내보내기 주소 테이블 양식 PE를 가져올 수 있습니까? 현재 pefile 모듈을 사용하고 있지만 IAT와 EAT를 사용할 수 있는지 확실하지 않습니다. 많은 도움에 감사드립니다. 그것이 처리되는 PE 파일에 존재하는 경우 PE에서 IAT 및 EAT 가져 오기

각 디렉토리 가져온 심볼 리스팅 PE 인스턴스의 DIRECTORY_ENTRY_directoryname 같은 항목이 있습니다

답변

1

documentation 그것을 수행하는 방법에 대해 설명합니다. 다음과 같이 가져온 기호를 나열 할 수 있습니다 다음과 같이

# If the PE file was loaded using the fast_load=True argument, we will need to parse the data directories: 
pe.parse_data_directories() 

for entry in pe.DIRECTORY_ENTRY_IMPORT: 
    print entry.dll 
    for imp in entry.imports: 
    print '\t', hex(imp.address), imp.name 

출력

 
comdlg32.dll 
     0x10012A0L PageSetupDlgW 
     0x10012A4L FindTextW 
     0x10012A8L PrintDlgExW 
[snip] 
SHELL32.dll 
     0x1001154L DragFinish 
     0x1001158L DragQueryFileW 

를 내 보낸 문자 마찬가지로

목록, 내 보낸 문자가 나열 할 수 있습니다

for exp in pe.DIRECTORY_ENTRY_EXPORT.symbols: 
    print hex(pe.OPTIONAL_HEADER.ImageBase + exp.address), exp.name, exp.ordinal 

출력

 
0x7ca0ab4f SHUpdateRecycleBinIcon 336 
0x7cab44c0 SHValidateUNC 173 
0x7ca7b0aa SheChangeDirA 337 
0x7ca7b665 SheChangeDirExA 338 
0x7ca7b3e1 SheChangeDirExW 339 
0x7ca7aec6 SheChangeDirW 340 
0x7ca8baae SheConvertPathW 341