我可以从命令行调用 IDA 的插件 BinDiff 吗?

逆向工程 艾达 蟒蛇 idapro插件 工具bindiff
2021-06-22 01:56:31

我正在尝试使用 评估大量二进制文件(数千个)BinDiff,目前我只需要来自 BinDiff 的一些指令级统计信息,可以sqlite轻松地从其转储文件中获取

但我的问题是使用 IDA/BinDiff 的 GUI 测试数千个二进制文件看起来太耗时了。

我想知道我可以从命令行调用 IDA-Pro 的插件,尤其是 ,BinDiff并将其输出转储出来吗?有可能这样做吗?

我有一些使用命令行 ida 的经验,但这仅限于执行一些 IDAPython 脚本。

测试在 Windows 7 上进行,使用 IDA-Pro 6.6 和 BinDiff 4.1。

1个回答

您可以尝试以下步骤:

  1. 将二进制文件转换为 IDB:

    $IDA_PATH\\idaq.exe -B -p+ $FILE_TO_CONVERT
    
  2. BinExport从 idb创建

    $IDA_PATH\\idaq.exe -A -SC:\\bindiff_export.idc
    

    哪里bindiff_export.idc看起来像:

    #include <idc.idc>
    static main()
    {
        Batch(0);
        Wait();
        Exit( 1 - RunPlugin("zynamics_binexport_5", 2 ));
    }
    

如果您还想比较文件,您可以直接在BinExports以下位置使用 BinDiff

$PATH_TO_BINDIFF\\bin\\BinDiff_Deluxe.exe -i $BIN_EXPORT_A -j $BIN_EXPORT_B -o $OUTPUT