GTIRB is GrammaTech’s Intermediate Representation for Binary analysis and rewriting. It seeks to be for binaries what LLVM is for source – allowing researchers and developers to compose tools and leverage each other’s work. GTIRB is described in a whitepaper, and in its manual.

We have built an ecosystem of tools around GTIRB, many of them available as open source and listed in the table below. In brief, our disassembler DDisasm generates GTIRB from binaries, while GTIRB-PPrinter can pretty-print GTIRB as assembly or as a binary executable. A variety of analyses run top of GTIRB, such as Retypd for binary type recovery. The gtirb-rewriting API supports modifying GTIRB files. It forms the foundation for a number of transforms that harden, optimize or debloat binaries, such as gtirb-stack-stamp and to-static. GTIRB-VSCode allows developers to work with GTIRB files in the VSCode IDE, while gtirb-ghidra-plugin supports Ghidra integrations.

GTIRB-based tools that are not open source are available to approved users via the GTIRB Omnibus image v 0.2.0.

GTIRBIntermediate Representation for Binaries
DDisasmFast and accurate disassembler which produces GTIRB
GTIRB-PPrinterUtility that pretty prints GTIRB to assembler or a binary executable
gtirb-functionsAPIs for working with functions in GTIRB files
gtirb-capstoneIntegration with the Capstone decoder
gtirb-typesAPIs for working with types in GTIRB files
RetypdBinary type analysis
GTIRB-ddisasm-retypdDDisasm front-end for Retypd type analysis
gtirb-rewritingPython API for rewriting GTIRB files
gtirb-stack-stampHardening transform over GTIRB
GTIRB-VSCodeVSCode extension to read, navigate, and (re)write GTIRB files
gtirb-ghidra-pluginImport/Export GTIRB files to/from Ghidra

This material is based upon work supported by the U.S. Navy and the U.S. Office of Naval Research under Contract(s) No. N68335-17-C-0700. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Navy or the Office of Naval Research.

Other Open Source Software Solutions

Check out all of GrammaTech’s Open Source Software and stay informed.

view all posts

Contact Us

Get a personally guided tour of our solution offerings. 

Contact US