Binary Analysis Platform v2.5 alpha releases: reverse engineering and program analysis platform
The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a reverse engineering and program analysis platform that works with binary code and doesn’t require the source code. BAP supports multiple architectures: ARM, x86, x86-64, PowerPC, and MIPS. BAP disassembles and lifts binary code into the RISC-like BAP Instruction Language (BIL). Program analysis is performed using the BIL representation and is architecture independent in the sense that it will work equally well for all supported architectures. The platform comes with a set of tools, libraries, and plugins. The documentation and tutorial are also available. The main purpose of BAP is to provide a toolkit for implementing automated program analysis. BAP is written in OCaml and it is the preferred language to write analysis, we have bindings to C, Python, and Rust. The Primus Framework also provides a Lisp-like DSL for writing program analysis tools.
Changelog v2.5 alpha
Adds missing ARM target ABI information (#1386)
* Update LLVM backend to work with version 12
This may also work with later versions, but I did not test them
* Updates the ARM target with ABI information according to AACPS
* Runs `make indent`
Installation
Usage
Shell
The BAP main frontend is a command line utility called bap
. You can use it to explore the binary, run existing analysis, plugin your own behavior, load traces, and much more.
To dump a program in various formats use the --dump
option (or its short equivalent, -d
), For example, let’s run bap
on thex86_64-linux-gnu-echo file.
Copyright (c) 2018 Carnegie Mellon University