我想MOV, ADD, ...etc
从二进制文件“exe 文件”中提取操作码 ( ),但由于我希望该过程完全自动化,因此我正在寻找一个免费的反汇编程序,它可以轻松集成,最好是基于 python 的工具。
我找到了这个项目:http : //www.capstone-engine.org 但是,我仍在试图弄清楚如何使用它来提取操作码“对我来说有点复杂!” 我想要一些“在花费更多时间之前”的建议,以确定它是否是那里可用的最佳和更灵活的选择。
任何帮助表示赞赏。
我想MOV, ADD, ...etc
从二进制文件“exe 文件”中提取操作码 ( ),但由于我希望该过程完全自动化,因此我正在寻找一个免费的反汇编程序,它可以轻松集成,最好是基于 python 的工具。
我找到了这个项目:http : //www.capstone-engine.org 但是,我仍在试图弄清楚如何使用它来提取操作码“对我来说有点复杂!” 我想要一些“在花费更多时间之前”的建议,以确定它是否是那里可用的最佳和更灵活的选择。
任何帮助表示赞赏。
大多数反汇编程序库(包括优秀的 Capstone)的问题在于,它们只能完成您需要的部分工作。他们很乐意反汇编您提供给他们的任何指令字节,但他们不会告诉您可执行映像中的哪些字节是指令或不是指令。
PE32+ 可执行文件必须在其.pdata 部分中声明所有非叶函数,以便 Windows 可以正确展开其堆栈帧;如果您正在处理 PE32+(即 AMD64 种类的 PE),这将为您提供一个良好的开端。在大多数其他情况下,除非您拥有像 IDA 这样的强大分析引擎和良好的脚本/插件库,否则您几乎可以使用自己的设备。
看看网上流传的 IDA 的 Python 插件。他们中的一些人出于某种原因不得不复制部分 IDA 的分析功能,因此他们倾向于依赖像 Capstone 这样的库。这些可以是灵感来源和/或现成的代码。
并且不要忘记仔细检查 Capstone使用 Capstone的项目列表;其中不少是基于 Python 的,并对可执行文件进行高级分析。
IDA免费评估版应该可以满足你的需求:
https://www.hex-rays.com/products/ida/support/download_demo.shtml
试试Joxean Koret的Pyew,它是开源的