The best way to get started with OFRAK is to go through the interactive tutorial.
Run it with the following commands:
make tutorial-image # create the Docker image for the tutorial make tutorial-run
It takes a minute for the notebook to start up. Once running, you can access the tutorial from localhost:8888 with your web browser. Have fun!
OFRAK comes with a web-based GUI frontend for visualizing and manipulating binary targets. The OFRAK GUI runs by default in most of the OFRAK images, including the tutorial image. (Note that for now, the frontend is only built in the
ofrak_binary_ninja analyzer backend configurations.)
To access the GUI, navigate to http://localhost and start by dropping anything you'd like into it!
The official documentation for the most up-to-date OFRAK lives at https://ofrak.com/docs/.
If you would like to generate the docs yourself for offline viewing, follow the instructions in the
Guides and examples
Once you've completed the tutorial, you'll be interested in the following resources (which you can see on the left of this page):
- More details about how OFRAK works and how to use it:
Examples, covering common tasks you might want to perform with OFRAK, and the
Frequently Asked Questions (FAQ)
Why do my CodeRegions not have any code?
- You probably forgot to discover the analysis/disassembler backend you intended to use.
- When not using the Ghidra analysis backend you will also need to discover the capstone components.
- Check out the Ghidra Backend User Guide and Binary Ninja Backend User Guides.
I ran a modifier and flushed the resource. The bytes did change, but my view is reporting the same values. Why?
- The bytes may have changed, but the analysis that depends on those bytes may not have been forced to re-run. You can force this analysis to update by re-running
await resource.view_asif you want to get an updated view after modifying data the view depends on.