0

一些像 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 是否支持此功能?

4

1 回答 1

1

Capstone 是独立于架构的。它不理解 PE 文件或 elf 文件。您只需为您拥有的任何处理器提供机器语言字节。

于 2021-05-25T00:24:53.167 回答