https://github.com/adrianherrera/binaryninja-gtirb
Support for the GrammaTech Intermediate Representation for Binaries (GTIRB) format in Binary Ninja
https://github.com/adrianherrera/binaryninja-gtirb
analysis binary binary-analysis binary-ninja binary-ninja-plugin gtirb reverse-engineering
Last synced: 10 months ago
JSON representation
Support for the GrammaTech Intermediate Representation for Binaries (GTIRB) format in Binary Ninja
- Host: GitHub
- URL: https://github.com/adrianherrera/binaryninja-gtirb
- Owner: adrianherrera
- License: mit
- Created: 2024-06-29T10:15:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-16T10:01:31.000Z (over 1 year ago)
- Last Synced: 2025-03-26T09:12:33.213Z (11 months ago)
- Topics: analysis, binary, binary-analysis, binary-ninja, binary-ninja-plugin, gtirb, reverse-engineering
- Language: Python
- Homepage:
- Size: 220 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Binary Ninja GTIRB
Author: **Adrian Herrera**
_Support the GrammaTech Intermediate Representation for Binaries (GTIRB) in Binary Ninja_
## Description:
The [GrammaTech Intermediate Representation for Binaries](https://grammatech.github.io/prj/gtirb/) (GTIRB) is a format for binary analysis and rewriting.
This plugin adds support for the GTIRB format to Binary Ninja.
It is based on GrammaTech's [GTIRB Ghidra plugin](https://github.com/GrammaTech/gtirb-ghidra-plugin).
Currently, it supports exporting a Binary Ninja database to GTIRB.
Importing GTIRB is not (yet) supported.
Similarly, the plugin only support exporting a single module; exporting multiple (linked) modules could be supported via Binary Ninja's [external links](https://docs.binary.ninja/guide/projects.html#external-links) feature, but this is not (yet) supported.
## Installation Instructions
This plugin is available in the Binary Ninja Plugin Manager.
Otherwise:
1. `git clone` this repository into your Binary Ninja plugins folder (see [here](https://docs.binary.ninja/guide/plugins.html) for more details).
1. Install the requirements with `pip install -r requirements.txt`.
## Usage
Open the GTIRB → Export dialog.
Select the location of the exported GTIRB IR file.
Select the [auxiliary tables](https://grammatech.github.io/gtirb/md__aux_data.html) you want to export.
The more auxiliary tables, the longer the export will take.

## License
This plugin is released under a MIT license.