Bof.

No theme, no regular posting.

Archive

© 2014-2023. RaphaĆ«l Rigo CC-BY-SA 4.0

About.

Automated BinDiff.

Sometimes it can be useful to automate IDA by running it from the command line (reference). You can do the same with BinDiff but it is not as easy. You must use a custom IDC script that will call the BinExport plugin :

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

You can then run it from the CLI : idaq.exe -A "-OExporterModule:<OUTPATH>" "-SBinExport.idc" "XXX.idb"
Be careful : ALL paths MUST be full paths.

You can then use BinDiff command line tools to compare binaries. It is particularly useful to compare directory trees, for example after a firmware update :)

Update for recent versions of IDA/BinExport, replace zynamics_binexport_5 with binexport10 in the script above and run using:

$ida -Llog -A "-OBinExportAutoAction:BinExportBinary" "-OBinExportModule:$dest/" "-Smybinexport.idc" "$1"