我想知道如何设置缓冲区的大小以反汇编它。
#1 楼
从pydasm的README.txt中略作修改的版本。import pydasm
import binascii
# Open, and read 200 bytes out of the file,
# while converting buffer to hex string
with open('file.bin','r') as f:
buffer = binascii.hexlify(f.read(200))
# Iterate through the buffer and disassemble
offset = 0
while offset < len(buffer):
i = pydasm.get_instruction(buffer[offset:], pydasm.MODE_32)
print pydasm.get_instruction_string(i, pydasm.FORMAT_INTEL, 0)
if not i:
break
offset += i.length
添加:然后从那里阅读。如果您想读取嵌入到某个文件中的shellcode并且知道相对位置,则它特别有用。您必须使用“ b”选项来对文件进行编码,才能使其正常工作。有关详细信息,请查阅《 Python文件对象库参考》。