deobfninja is a powerful plugin designed to streamline and automate the deobfuscation process within Binary Ninja, a popular reverse engineering platform. Its primary goal is to assist reverse engineers and security researchers in analyzing binaries that have been obfuscated to hinder static analysis.

With deobfninja, you can:

  • Automatically detect and simplify common obfuscation patterns such as opaque predicates, control flow flattening, and junk code.
  • Customize and extend deobfuscation recipes to target specific obfuscators or proprietary protections.
  • Accelerate reverse engineering workflows by reducing manual effort and improving code readability.

Whether you’re analyzing malware, unpacking protected software, or studying advanced obfuscation techniques, deobfninja provides a flexible and extensible toolkit to make your job easier and more efficient.


Overview

image


Installation

Clone the Repository

git clone git@github.com:mitsuakki/bninja-recipes.git

Set Up the Binary Ninja API

cd binaryninjaapi
git submodule update --init --recursive
git checkout $(cat $BN_INSTALL_DIR/api_REVISION.txt | awk -F/ '{print $NF}')

Configure an Out-of-Source Build (API)

cmake -S . -B build

Compile the API

cmake --build build -j8

Build the Recipes

cd ..
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build

Install

cmake --install build

[!NOTE] Ensure $BN_INSTALL_DIR points to your Binary Ninja installation directory.