All Projects → airbus-seclab → Bincat

airbus-seclab / Bincat

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

Programming Languages

ocaml
1615 projects

Projects that are alternatives of or similar to Bincat

Uefi retool
A tool for UEFI firmware reverse engineering
Stars: ✭ 227 (-78.94%)
Mutual labels:  ida-plugin, reverse-engineering
Scratchabit
Easily retargetable and hackable interactive disassembler with IDAPython-compatible plugin API
Stars: ✭ 369 (-65.77%)
Mutual labels:  ida-plugin, reverse-engineering
Vac
Source code of Valve Anti-Cheat obtained from disassembly of compiled modules
Stars: ✭ 254 (-76.44%)
Mutual labels:  disassembly, reverse-engineering
Ida Batch decompile
*Decompile All the Things* - IDA Batch Decompile plugin and script for Hex-Ray's IDA Pro that adds the ability to batch decompile multiple files and their imports with additional annotations (xref, stack var size) to the pseudocode .c file
Stars: ✭ 198 (-81.63%)
Mutual labels:  ida-plugin, reverse-engineering
Ida android script
some idapython scripts for android debugging.
Stars: ✭ 38 (-96.47%)
Mutual labels:  ida-plugin, reverse-engineering
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)
Stars: ✭ 2,954 (+174.03%)
Mutual labels:  ida-plugin, reverse-engineering
Polichombr
Collaborative malware analysis framework
Stars: ✭ 307 (-71.52%)
Mutual labels:  ida-plugin, reverse-engineering
Flare Ida
IDA Pro utilities from FLARE team
Stars: ✭ 1,374 (+27.46%)
Mutual labels:  ida-plugin, reverse-engineering
Binexport
Export disassemblies into Protocol Buffers
Stars: ✭ 586 (-45.64%)
Mutual labels:  ida-plugin, reverse-engineering
Sark
IDAPython Made Easy
Stars: ✭ 477 (-55.75%)
Mutual labels:  ida-plugin, reverse-engineering
Rematch
REmatch, a complete binary diffing framework that is free and strives to be open source and community driven.
Stars: ✭ 141 (-86.92%)
Mutual labels:  ida-plugin, reverse-engineering
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.
Stars: ✭ 896 (-16.88%)
Mutual labels:  ida-plugin, reverse-engineering
Jarvis
"Just Another ReVersIng Suite" or whatever other bullshit you can think of
Stars: ✭ 137 (-87.29%)
Mutual labels:  ida-plugin, reverse-engineering
Classinformer Ida7
ClassInformer backported for IDA Pro 7.0
Stars: ✭ 226 (-79.04%)
Mutual labels:  ida-plugin, reverse-engineering
Stingray
IDAPython plugin for finding function strings recursively
Stars: ✭ 110 (-89.8%)
Mutual labels:  ida-plugin, reverse-engineering
Efixplorer
IDA plugin for UEFI firmware analysis and reverse engineering automation
Stars: ✭ 268 (-75.14%)
Mutual labels:  ida-plugin, reverse-engineering
Pokemon Reverse Engineering Tools
Tools for building and disassembling Pokémon Red and Pokémon Crystal
Stars: ✭ 249 (-76.9%)
Mutual labels:  disassembly, reverse-engineering
Ida gel
A collection of IDA loaders for various game console ELF's. (PS3, PSVita, WiiU)
Stars: ✭ 76 (-92.95%)
Mutual labels:  ida-plugin, reverse-engineering
Pokeyellow
Disassembly of Pokemon Yellow
Stars: ✭ 383 (-64.47%)
Mutual labels:  disassembly, reverse-engineering
Idarling
Collaborative Reverse Engineering plugin for IDA Pro & Hex-Rays
Stars: ✭ 588 (-45.45%)
Mutual labels:  ida-plugin, reverse-engineering

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.0 or later (BinCAT uses PyQt, not PySide)
  • 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 or later is supported

v6.9 may work, but we won't support it.

Binary distribution install (recommended)

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 are performed automatically (see azure-pipelines.yml). The latest builds and test results can be accessed here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].