BAP (Binary Analysis Platform)
BAP (Binary Analysis Platform) is a free suite of utilities and libraries for analyzing programs in machine representation.
What BAP (Binary Analysis Platform) is
BAP (Binary Analysis Platform) is a free suite of utilities and libraries for analyzing programs in machine representation. It is intended for security analysis, program verification, and reverse engineering, and is available as a command-line framework or an embeddable library. Its `disassemble` command converts a binary into an architecture-independent representation, builds a control-flow graph, and applies user-defined analyses. BAP includes a standard interpreter, a microexecution interpreter, and a symbolic executor. Supported architectures are x86, x86-64, ARM, MIPS, and PowerPC, with plugins available to add architectures or analyses and change existing functionality without recompiling. Developers can use OCaml or Primus Lisp for analysis tasks, verification conditions, function models, and interaction with an SMT solver. BAP can be embedded in OCaml or other applications using C bindings; its Python support is described as minimal. Project materials document interfaces and plugins for IDA Pro, Ghidra, and LLVM. The default LLVM loader supports ELF, Mach-O, and COFF formats, including Windows PE. BAP is written in OCaml and distributed under the MIT License.
Good
- Free and distributed under the MIT License
- Includes interpreters and a symbolic executor
- Plugins can extend architectures and analyses
- Supports ELF, Mach-O, and COFF
Watch out
- Python support is minimal
- OCaml development requires installation from source
- No decompiler is listed
Who it suits
BAP may suit security analysts, verification practitioners, and reverse engineers working with supported machine architectures. Developers can use it from the command line or embed it in applications, though OCaml development requires a source installation.
Verdict
BAP provides a flexible framework for binary analysis, with command-line use, library embedding, and plugin extension. Its limited Python support and source-install requirement for OCaml development are important considerations.
Plans and prices
From BAP (Binary Analysis Platform)'s own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| BAP | Free | Open source binary analysis platform |
The facts
Each one read from BAP (Binary Analysis Platform)'s own pages, with the date it was checked.
What it does
- Analysis capabilities
- BAP includes analyses, a standard interpreter, a microexecution interpreter, and a symbolic executor.checked 7 Oct 2026
- Analysis tools
- BAP includes analyses, a standard interpreter, a microexecution interpreter, and a symbolic executor.checked 7 Oct 2026
- Architectures
- BAP supports x86, x86-64, ARM, MIPS, and PowerPC, with additional architectures addable through plugins.checked 7 Oct 2026
- Command-line workflow
- The `disassemble` command disassembles a binary, lifts it into an architecture-agnostic representation, builds a control flow graph, and applies user-defined analyses.checked 7 Oct 2026
- Development dependency
- Writing analyses in OCaml requires installing BAP from source because the binary packages do not include the OCaml development environment.checked 7 Oct 2026
- Disassembly
- BAP's disassemble command lifts binaries into an architecture-independent representation, builds a control-flow graph, and applies user-defined analysis passes.checked 7 Oct 2026
- Embedding and bindings
- BAP can be embedded as a library in OCaml or other-language applications using C bindings, and the project describes its Python support as minimal.checked 7 Oct 2026
- Executable formats
- The default LLVM loader supports ELF, Mach-O, and COFF formats, including Windows PE.checked 7 Oct 2026
- Extensibility
- BAP is a plugin-based framework whose plugins can add analyses or change existing functionality without recompiling BAP.checked 7 Oct 2026
- Installation
- Prebuilt packages are provided for Debian and Red Hat derivatives, with tgz archives for other distributions; source installation through opam is recommended for OCaml development.checked 7 Oct 2026
- Integrations
- The project documents interfaces and plugins for IDA Pro, Ghidra, and LLVM.checked 7 Oct 2026
- Intended use
- The project describes BAP as used for security analysis, program verification, and reverse engineering.checked 7 Oct 2026
- License
- The repository distributes BAP under the MIT License, which grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its terms.checked 7 Oct 2026
- Maintainer
- The official About page says BAP is built and maintained by David Brumley's research group at Carnegie Mellon University.checked 7 Oct 2026
- Primus Lisp
- Its domain-specific Primus Lisp language can implement analyses, specify verification conditions, model functions, and interface with an SMT solver.checked 7 Oct 2026
- Programming language
- BAP is written in OCaml and provides the Primus Lisp domain-specific language for implementing analyses, specifying verification conditions, modeling functions, and interfacing with an SMT solver.checked 7 Oct 2026
- Purpose
- BAP is a suite of utilities and libraries for analyzing programs in their machine representation.checked 7 Oct 2026
- Python
- The project provides minimal Python support to help users start learning BAP.checked 7 Oct 2026
- Support
- The installation instructions direct users who encounter missing system dependencies to the project's chat for help.checked 7 Oct 2026
- Supported architectures
- BAP supports x86, x86-64, ARM, MIPS, and PowerPC, and can add architectures through plugins.checked 7 Oct 2026
- Use as library
- BAP can run as a command-line framework or be embedded as a library in OCaml or other applications using C bindings.checked 7 Oct 2026
The company
- Headquarters
- Pittsburgh, Pennsylvania, United Stateschecked 28 Sep 2026
Alternatives to BAP (Binary Analysis Platform)
- 1

Binary Ninja
Free planWebAPILinuxmacOS7.8$199 one-time - 2
Frida
Free planOpen sourceAndroidiOSAPILinux7.7Free plan - 3

rev.ng
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 4

JEB
Free planAPILinuxmacOSSelf-hosted7.6From $1,200 a year - 5
Ghidra
Free planOpen sourceAPIExtensionLinuxmacOS7.3Free plan - 6

IDA Pro
Free planLinuxmacOSWindows7.0From $1,099 a year
