Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added data graph (aga) + partial support for diff graph (agd) output formats #10117

merged 4 commits into from May 18, 2018


Copy link

@cyanpencil cyanpencil commented May 17, 2018

Now the command aga (which before was a dupe of ags) represents the data graph, which is basically a refs graph to data sections.

Also, I thought a lot about agd, but only graphviz and png formats can be supported because they are the only one that can show nodes background color. I'll return to agd in the future when I'll have implemented node backgrounds in ascii graphs.

Finally, I found out that agd was unfinished, and I tried to fix it myself... but after some hours I found out that's a rabbit hole much deeper than I expected, and I only fixed a small bug related to the fingerprinting of the bb nodes before diffing and added some more verbose error handling.

My doubts on agd are:

  • Right now it does the diff between the function in the current offset and the function given in argument in the same binary... but does that really make sense? I think the right way should be what radiff2 does, that is diffing the same function between two different binaries.
  • Found out that there is a command that does the diff of the function in the current offset and a function in a different file, that's called cgf, but it's broken and I think the name is wrong (Since it displays a graph it should be in the ag* family...)
cyanpencil added 4 commits May 16, 2018
Added r_core_anal_datarefs() and finished support for aga
Add error message for adg graph
Always fingerprint before calling r_anal_diff_fcn
Fix rebase

Fix whitespace
Copy link

@XVilka XVilka commented May 17, 2018

Please don't forget to add a couple regression tests for those, so it won't be broken after.

@radare radare merged commit 6e7e64f into radareorg:master May 18, 2018
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
continuous-integration/travis-ci/pr The Travis CI build passed
radare added a commit that referenced this pull request Feb 23, 2019
Data references analyzer assumes that each function reference maps
to a certain section, but this is not the case for raw binary files
like shellcodes/firmware images/etc.

This bug was introduced in #10117.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants