Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, I patched the ripr source code to work with the open source Radare2 tool via the r2pipe interface, so that ripr doesn't require Binary Ninja. Ripr can be used by first starting radare2 from the ripr directory, performing analysis of the binary and then running
#!pipe python ./r2pipe_run.py <addr>
whereaddr
is the address of the function being extracted.A bunch of refactoring was necessary (esp. for the
dependency.py
) to make the code independent of the Binary Ninja API. I moved a bunch of Binary Ninja logic to the BN analysis engine interface and made some interfaces pass the function address instead of a Binary Ninja function object. It is very possible I might've broken some of the Binary Ninja interaction in the course of this refactoring, as I don't have a copy of Binary Ninja to confirm this still works with it. Would you mind testing with Binary Ninja to make sure it still works? Feel free to suggest style/API changes as well.Here's an example transcript of how it looks like when used from radare:
Legal boilerplate: "I am providing code in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not from my employer."