Running bindiff export does not result in `.BinExport` file being created
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- reverse-engineering, tooling
Research direction
Start with the reproduction using /opt/bindiff/bin/bindiff --export on the Envoy binary and inspect the IDA export path mentioned in main_plugin.cc. Compare the files observed with opensnoop and review ~/.bindiff/logs/bindiff_idapro.log; done means the expected .BinExport file is created for the reported IDA and Bindiff versions.
Written by the indexing model from the issue text.
Description
Describe the bug
I'm trying to diff an envoy file containing debug symbols against an optimized release image. I initially tried to diff them against each other through the IDA plugin window and received the "Exporting the secondary database failed." error.
After looking into the source a bit, I tried to run the /opt/bindiff/bin/bindiff directly to isolate what the problem is. It appears that the .BinExport files aren't being created by IDA. Please see my reproduction steps below and let me know if I can provide any more helpful context!
To Reproduce
- Download envoy v1.31.1
docker pull envoyproxy/envoy:v1.31-latest
container_sha=$(docker create envoyproxy/envoy:v1.31-latest)
docker cp ${container_sha}:/usr/local/bin/envoy ./
- Open binary in IDA and wait for initial analysis to complete
- Save IDA database file and close IDA
- Run bindiff export from the command line --
/opt/bindiff/bin/bindiff --export directory/containing/envoy-binary/ - See that no
.BinExportfile is created
Expected behavior
That a .BinExport file is created and I'm able to diff a file with debug symbols and the optimized release.
Environment (please complete the following information):
- OS and version: Ubuntu 22 VM
- Locale: US English
- Disassembler and version: IDA Free 8.4
- Bindiff v8 -- installed
.debfrom release page
Additional context
I noticed that bindiff is running the following ida64 command. I tried running that directly on my machine and used opensnoop to track what files ida64 is writing. Attached below are the commands I ran and the output from opensnoop. The ~/.bindiff/logs/bindiff_idapro.log file also doesn't contain much information.
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/bindiff
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
question
Difficulty 3/5 1-2 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 1/5 Under an hour Newbie friendliness 55/100
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
HL7/fhir-ig-publisher#1375 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Flaky: a relaunched catch-up replay can still report catching up right after its marker is written Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
johanhaleby/occurrent#1134 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/jeo-maven-plugin#1811 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100