We recommend you develop and run the plugin inside a Docker image, using the scripts provided in docker_scripts
.
- Use the scripts
docker_build.sh
anddocker_run.sh
to build and run the environment, respectively. - Inside the docker image, use the script
build_plugin.sh
to build the project using Gradle. - The plugin can then be installed using the
install_plugin.sh
script. - Ghidra can be run with the usual
ghidraRun
script, found in/home/user/ghidra/
.
- Update
smellcps_plugin_config.properties
such that:python3
points to thepython
binary in your angr virtual environment.driver
points to thedriver_for_ghidra.py
file in your clone of the math_to_symbexpr_map_generation repository.
Move smellcps_plugin_config.properties
to $HOME/.ghidra/
- Install the GhidraDev Eclipse plugin by following the instructions here.
- From within GhidraDev in Eclipse, create a new Ghidra Module Project.
- Merge this repository with the root of the new project.
Run GHIDRA_INSTALL_DIR=/path/to/ghidra/install/dir gradle
.
This should create a dist/*.zip
archive.
This ZIP archive can be installed as a Ghidra extension, as described here.
If the plugin window does not show, it can be reopened in the Window
menu.