Skip to content

Binary Ninja plugin that can be used to apply Triton's dead store eliminitation pass on basic blocks or functions.

License

Notifications You must be signed in to change notification settings

ergrelet/triton-bn

Repository files navigation

triton-bn Static Badge

triton-bn is a small Binary Ninja plugin that can be used to apply Triton's dead store eliminitation pass on basic blocks or functions.
The plugin supports the x86_64, x86 and aarch64 architectures.

This plugin may also serve as a base for people that would want to play with Triton inside of Binary Ninja.

How to Build

On Windows:

$ git clone --recurse-submodule https://github.com/ergrelet/triton-bn.git && cd triton-bn
$ ./vcpkg/bootstrap-vcpkg.bat
$ cmake -B build -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
$ cmake --build build --config Release -- -maxcpucount

On Linux distributions:

$ git clone --recurse-submodule https://github.com/ergrelet/triton-bn.git && cd triton-bn
$ ./vcpkg/bootstrap-vcpkg.sh
$ cmake -B build -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
$ cmake --build build -- -j$(nproc)

How to Install

Check out the official Binary Ninja documentation to know where to copy the files: Using Plugins

Know Limitations

  • Instructions that use RIP/PC-relative addressing aren't relocated properly in preview mode