ghidra2cpg
ghidra2cpg copied to clipboard
Code Property Graph (CPG) frontend for binary applications and libraries.
Ghidra2cpg
This is a CPG frontend based on Ghidra.
Setup
Requirements:
- We recommend openjdk 11 (at least). It does not work with adoptopenjdk 16.
- sbt (https://www.scala-sbt.org/)
Quickstart
- Clone the project
- Build the project
sbt stage - Create a CPG
./ghidra2cpg.sh /path/to/your/binary -o /path/to/cpg.bin - Download joern with
wget https://github.com/joernio/joern/releases/download/v1.1.164/joern-cli.zip unzip joern-cli.zip cd joern-cli - Copy
cpg.bininto the joern directory - Start joern with
./joern.sh - Import the cpg with
importCpg("cpg.bin") - Now you can query the CPG
Known issues
varags are not handled properly: https://github.com/NationalSecurityAgency/ghidra/issues/234