Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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: 3 months 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