我想将IDA与Hex-Rays反编译器插件一起使用,作为自动静态分析的一部分,可能需要处理大量文件,而不必打开每个文件并告诉它分别生成一个C文件。

理想情况下,我想从命令行运行IDA,并基于初始自动分析获得反编译作为输出。这样,我可以将其作为Mastiff或grep的一部分运行,以用于一组二进制文件中的某些功能。通过阅读Hex Blog中的On batch analysis,我需要一个与反编译器插件交互的IDA脚本,但我不知道该怎么做。

所以这给了我2个子问题:脚本吗?
该脚本需要是IDC,还是可能是IDAPython?


#1 楼

[回到2013年]反编译器没有脚本API。因此,您有以下选择:



使用调用反编译器API的本机插件向IDC添加必要的功能。
使用ctypes或类似方法调用C ++ API直接来自Python。几年前,我在Hex-Rays论坛上发布了一个小的PoC脚本。
如果只想获取反编译的文本,则可以使用命令行选项。

IDA 6.6(于2014年6月发布)为反编译器添加了正式的Python绑定,因此现在可以使用Python编写脚本。有关示例代码,请参阅IDAPython存储库中的vds*.py脚本。

评论


评论不作进一步讨论;此对话已移至聊天。

–伊戈尔·斯科钦斯基♦
19年5月2日在10:10