python 모듈 pefile/ pydasm 질문입니다.

jaewonm의 이미지

kernel32.dll 파일을 pefile 모듈로 파싱하여
.text 섹션을 pydasm으로 disassemble 하고 싶은데요

import pefile
import pydasm
 
pe=pefile.PE('C:\Windows\System32\kernel32.dll')
 
for section in pe.sections:
	print (section.Name, hex(section.VirtualAddress),
		hex(section.Misc_VirtualSize), section.SizeOfRawData )
 
	if section.Name==".text\x00\x00\x00":
		print hex(pe.OPTIONAL_HEADER.ImageBase);
		text_section_rva=section.VirtualAddress+pe.OPTIONAL_HEADER.ImageBase;
		text_section_size=section.SizeOfRawData
 
data = pe.get_memory_mapped_image()[text_section_rva:text_section_rva+text_section_size]
offset = 0
while offset < len(data):
	i = pydasm.get_instruction(data[offset:], pydasm.MODE_32)
 	print pydasm.get_instruction_string(i, pydasm.FORMAT_INTEL,text_section_rva+offset)
 	offset += i.length

pefile 사이트에 예제를 조금 변형한건데 실행하면 어셈 몇줄 나오다가
None type이 나오면서 프로그램이 멈추네요 ..

.text섹션에 코드가 그렇게 적게 나올리는 없고.. 뭐가 문제인지 잘 모르겠네요 .. ㅠㅠ