ergrelet / triton-bn

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 after simplification

About

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

License:Apache License 2.0


Languages

Language:C++ 92.0%Language:CMake 8.0%