一些像 IDA 或 Ghidra 这样的反汇编程序会使用 exe 并输出指令。其他反汇编程序要求用户解析 PE 标头,隔离指令的二进制文件并将其传入。
我正在尝试学习使用 Capstone Python API,但.py 文档只显示了正在传递的隔离指令的缓冲区,如下所示:
# test1.py
from capstone import *
CODE = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"
md = Cs(CS_ARCH_X86, CS_MODE_64)
for i in md.disasm(CODE, 0x1000):
print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))
但我想做类似的事情:
CODE = open("test.exe", "rb")
无需亲自解析 PE 标头以隔离指令数据。Captone 的 API 是否支持此功能?