Binary Analysis Platform v2.6 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.6 alpha
fixes bap.top and baptop (#1541)
This commit fixes the `bap.top` library and the `baptop` executable so that they can now be used. Before that, they were failing with “`
Exception:
(Invalid_argument
“The dynlink.cma library cannot be used inside the OCaml toplevel”)
“`
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.
Tutorial
Copyright (c) 2018 Carnegie Mellon University