An open API service indexing awesome lists of open source software.

https://github.com/ergrelet/triton-bn

Binary Ninja plugin that can be used to apply Triton's dead store eliminitation pass on basic blocks or functions.
https://github.com/ergrelet/triton-bn

binary-ninja binary-ninja-plugin cpp deobfuscation reverse-engineering triton

Last synced: about 20 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# triton-bn ![Static Badge](https://img.shields.io/badge/Binary_Ninja_API-v4.0.x-blue)

`triton-bn` is a small Binary Ninja plugin that can be used to apply
[Triton](https://github.com/jonathansalwan/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](https://docs.binary.ninja/guide/plugins.html)

## Know Limitations
* Instructions that use RIP/PC-relative addressing aren't relocated properly in preview mode