python - Captone python 模块是否支持 exe 作为输入,或者数据是否需要是独立的指令二进制文件?
问题描述
一些像 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 是否支持此功能?
解决方案
Capstone 是独立于架构的。它不理解 PE 文件或 elf 文件。您只需为您拥有的任何处理器提供机器语言字节。
推荐阅读
- angular - 在 Angular 中构建更新对象
- javascript - 比较两个对象的值和键
- python - 未知的 python 语法(function_name[数据类型]) - 想要更多信息
- java - JTable里面的JTable不渲染
- botframework - Bot Framework 模拟器的问题显示一个带有“此活动没有渲染器”的红色框
- r - 填写 data.table 缺失日期的最快方法(续)
- pycharm - 即使我已指定仅使用空格,PyCharm 也会插入制表符
- excel - 变量名不匹配但仍然有效
- laravel-5 - a2 主机中的电子邮件系统中的连接过多
- json - SharePoint 视图格式 - 如果为空 AND