- C++ 78.6%
- Meson 14.1%
- Dockerfile 7.3%
| simple | Fix wrong function name and add example warning header | |
| .clang-format | Simple plugin setup with demo plugin | |
| .dockerignore | Adding docker build and updating docs | |
| .gitignore | Simple plugin setup with demo plugin | |
| Dockerfile | Bump ReOxide version in Dockerfile | |
| LICENSE | Simple plugin setup with demo plugin | |
| meson.build | Remove libdecomp dependency | |
| README.md | Add note regarding ReOxide dev versions | |
ReOxide plugin template
This repository serves as template for creating new Ghidra decompiler
plugins. Creating plugins this way currently only works on Linux.
Plugins compile into native shared objects and the decompiler loads them
using dlopen. This will change in the future, but the current setup
relies on the C++ Application Binary Interface (ABI). This means you have
to compile your plugin with exactly the same compiler as ReOxide itself.
Warning
The main branch of this template follows the stable releases of ReOxide. If you want to build a plugin against the latest git commit of the ReOxide main repository, make sure to check the dev branch of this repository for updates.
Building
You need working ReOxide setup for building plugins, see the setup
guide. If you can run
the reoxide command, then you can build the plugin by using meson:
$ meson setup build
$ meson install -C build
This will only work safely if you also compiled ReOxide yourself.
If you want to build a portable plugin or use the reoxide pip package,
you need to use the manylinux2014 container provided by
the Python Packaging Authority.
If you have Docker installed, you can use the provided Dockerfile to
build your plugin:
$ docker build . -o output_dir
You can then find the shared objects for your plugins in the
output_dir folder and copy them manually into your ReOxide
plugin folder. Running reoxide print-plugin-dir will show you the
path to the plugin folder.