ランキングに戻る

airbus-seclab/bincat

OCaml

Binary code static analyser, with IDA integration. Performs value and taint analysis, type reconstruction, use-after-free and double-free detection

ida-plugintaint-analysisreverse-engineeringdisassembly
スター成長
スター
1.9k
フォーク
169
週間成長
Issue
18
5001k1.5k
2017年6月2020年6月2023年7月2026年7月
README

Introduction

What is BinCAT?

BinCAT is a static Binary Code Analysis Toolkit, designed to help reverse engineers, directly from IDA or using Python for automation.

It features:

  • value analysis (registers and memory)
  • taint analysis
  • type reconstruction and propagation
  • backward and forward analysis
  • use-after-free and double-free detection

In action

You can check (an older version of) BinCAT in action here:

Check the tutorial out to see the corresponding tasks.

Quick FAQ

Supported host platforms:

  • IDA plugin: all, version 7.4 or later (only Python 3 is supported)
  • analyzer (local or remote): Linux, Windows, macOS (maybe)

Supported CPU for analysis (for now):

  • x86-32
  • x86-64
  • ARMv7
  • ARMv8
  • PowerPC

Installation

Only IDA v7.4 or later is supported

Older versions may work, but we won't support them.

The binary distribution includes everything needed:

  • the analyzer
  • the IDA plugin

Install steps:

  • Extract the binary distribution of BinCAT (not the git repo)
  • In IDA, click on "File -> Script File..." menu (or type ALT-F7)
  • Select install_plugin.py
  • BinCAT is now installed in your IDA user dir
  • Restart IDA

Manual installation

Analyzer

The analyzer can be used locally or through a Web service.

On Linux:

On Windows:

IDA Plugin

BinCAT should work with IDA on Wine, once pip is installed:

Using BinCAT

Quick start

  • Load the plugin by using the Ctrl-Shift-B shortcut, or using the Edit -> Plugins -> BinCAT menu

  • Go to the instruction where you want to start the analysis

  • Select the BinCAT Configuration pane, click <-- Current to define the start address

  • Launch the analysis

Configuration

Global options can be configured through the Edit/BinCAT/Options menu.

Default config and options are stored in $IDAUSR/idabincat/conf.

Options

  • "Use remote bincat": select if you are running docker in a Docker container
  • "Remote URL": http://localhost:5000 (or the URL of a remote BinCAT server)
  • "Autostart": autoload BinCAT at IDA startup
  • "Save to IDB": default state for the save to idb checkbox

Documentation

A manual is provided and check here for a description of the configuration file format.

A tutorial is provided to help you try BinCAT's features.

Article and presentations about BinCAT

Licenses

BinCAT is released under the GNU Affero General Public Licence.

The BinCAT OCaml code includes code from the original Ocaml runtime, released under the LGPLv2.

The BinCAT IDA plugin includes code from python-pyqt5-hexview by Willi Ballenthin, released under the Apache License 2.0.

BinCAT includes a modified copy of newspeak.

Automated builds

Automated builds for Linux and Windows are performed automatically using GitHub Actions (see here), results can be obtained on GitHub's Actions tab.

関連リポジトリ
mrexodia/ida-pro-mcp

AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.

PythonPyPIMIT Licenseida-pluginida-pro
plugins.hex-rays.com/mrexodia/ida-pro-mcp
10.6k1.2k
alphaSeclab/awesome-reverse-engineering

Reverse Engineering Resources About All Platforms(Windows/Linux/macOS/Android/iOS/IoT) And Every Aspect! (More than 3500 open source tools and 2300 posts&videos)

reverse-engineeringidapro
5k901
google/bindiff

Quickly find differences and similarities in disassembled code

JavaMavenApache License 2.0bindiffbinexport
zynamics.com/bindiff.html
3.1k235
mandiant/flare-ida

IDA Pro utilities from FLARE team

PythonPyPIApache License 2.0idafireeye-flare
2.5k471
bootleg/ret-sync

ret-sync is a set of plugins that helps to synchronize a debugging session (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) with IDA/Ghidra/Binary Ninja disassemblers.

CGNU General Public License v3.0reverse-engineeringdebugger
2.4k304
KasperskyLab/hrtng

IDA Pro plugin with a rich set of features: decryption, deobfuscation, patching, lib code recognition and various pseudocode transformations

C++GNU General Public License v3.0binary-analysisdecryption
1.9k170
illera88/Ponce

IDA 2016 plugin contest winner! Symbolic Execution just one-click away!

C++Otherida-pluginsymbolic-execution
docs.idaponce.com
1.6k84
igogo-x86/HexRaysPyTools

IDA Pro plugin which improves work with HexRays decompiler and helps in process of reconstruction structures and classes

PythonPyPIidaidapython
1.5k247
L4ys/LazyIDA

Make your IDA Lazy!

PythonPyPIMIT Licenseidapython
1.4k200
WPeace-HcH/WPeGPT

An IDA plugin for binary file analysis, powered by AI models such as OpenAI and DeepSeek.

PythonPyPIbinary-analysischatgpt
1.4k195
google/binexport

Export disassemblies into Protocol Buffers

C++Apache License 2.0ida-proida-plugin
1.2k247
REhints/efiXplorer

IDA plugin and loader for UEFI firmware analysis and reverse engineering automation

C++GNU General Public License v3.0reverse-engineeringida-pro
1.1k126