GREASE Ghidra Batch Plugin
This Ghidra plugin adds an analysis called "GREASE Analysis" which runs GREASE on all functions in a binary. The order the functions are analyzed in is given by a reverse topological sort of the callgraph. The goal is for the functionality in this plugin to eventually subsume the Ghidra script, but for now this analysis pass is better for use cases involving complete analysis of a large program where parallelism is required.
Installing this plugin requires building native GREASE binary which requires cabal (can be installed from ghcup).
Follow the GREASE install instructions for building GREASE (should only require updating submodules via git submodule update --init
then running cabal build grease-cli
)
After building GREASE one can use gradle to build the plugin zip file by:
- Adding the Ghidra install directory to
gradle.properties
and uncommenting the line - Running
./gradlew buildExtension
- Optionally the gradle file can install the extension directly with
./gradlew installExtension
After building the extension a zip file will be in ./dist/ghidra_<VERSION>_<DATE>_ghidra-batch-plugin.zip
which can be installed using Ghidra Project menu:
- Open File->Install Extensions
- Press the + button and find the zip file in file selector
- Click the checkbox next to ghidra-plugin to enable the plugin
- Restart Ghidra
Please see the GREASE topic in the Ghidra help menu for usage information.
Formatting
The scala files can be formatted with scalafmt by running ./gradlew spotlessApply