google / google/binexport

Different CFG determination

Open
#116 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
1.2k
Forks
250
Avg merge
2d 17h
Merged PRs (30d)
1

Description

Any ideas on why I would be getting different generation for the control flow graph of these two functions? These are from two versions of busybox, exported with IDA 8.3 and the f9409a7 commit. I'm not sure where to begin to look for the apparent non-determinism? I haven't reviewed IDA's representation, but I thought BinDiff computed its own control flow.

![image](https://github.com/google/binexport/assets/558033/3fc68a6d-18b6-4f29-a3ac-1e9fc4351496)

Here's a second discrepancy from the same diff as well.

![image](https://github.com/google/binexport/assets/558033/0190d8aa-3bd9-4269-a0e9-9280980180df)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the comparison using the two BusyBox versions and IDA 8.3 exports described in the issue, then inspect how BinExport produces the differing control-flow graphs. No source files or tests are named, so first locate the CFG export entry point and establish whether the discrepancy comes from the inputs or generation; done means the cause is isolated and documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.