BinDiffHelper
BinDiffHelper copied to clipboard
Autoexecute of BinDiff hangs and manual import applys too many diffs on first attempt
Windows 11 Ghidra ver. 11.0.3 and 11.1.2 with Java 21.0.4 BinDiff ver. 8 BinExport 12 (Updated for Ghidra 11.0.3) BinDiffHelper v.0.6.1
When attempting to "Diff with other file from ghidra project" The process shows binexport running for each ghidra project and then hangs on "Executing BinDiff" at status bar of 40% (2 of 5) The only way to close out is to kill the process in Task Manager. The 'X' button on the progress bar does not kill the extension.
I tested this on Ghidra 11.0.3 as well since the current latest binexport seems to be supported for that version, but I get the same result. BinDiff is installed in the default location C:\Program Files\BinDiff and I pointed to the BinDiff binary here: C:\Program Files\BinDiff\bin\bindiff.exe
When "Use externally created .BinDiff file" I can export from ghidra using binexport manually, load them into BinDiff, and then access that .BinDiff file from BinDiffHelper and load the database fine and see the diffs and apply them. However, there does seem to be a bug here as well as. When a fresh database is loaded and I select only one check box (does not seem to matter which one) and then select "import checked functions' names" it will import a large set (not all, but most) diffs in the list. When I CTRL+Z to undo that and then select one again it will apply only that one. If on a fresh load of the data base, I select 2 or more check boxes and again press "import checked functions' names" it will only import the checked boxes as one would expect.
Thank you for the report.
When a fresh database is loaded and I select only one check box (does not seem to matter which one) and then select "import checked functions' names" it will import a large set (not all, but most) diffs in the list.
I will try to reproduce and fix this. Regarding the "Executing BinDiff" problem, I will have to add some more logging around that place because I have no idea what that could be caused by. Maybe some antivirus/firewall blocking the execution of a new process?
The process shows binexport running for each ghidra project and then hangs on "Executing BinDiff" at status bar of 40% (2 of 5) The only way to close out is to kill the process in Task Manager. The 'X' button on the progress bar does not kill the extension.
This should be fixed now, I'll take a look at the issue with the wrong functions being renamed