# Dyninst

> Binary instrumentation, analysis and modification libraries from the Paradyn project. DyninstAPI inserts and changes instrumentation in a running program, or rewrites an executable or library on disk and writes the patched copy back, through one machine-independent interface that also supports static and dynamic analysis. Separately documented components handle symbol tables, line numbers and types (SymtabAPI), instruction decoding and disassembly (InstructionAPI), parsing into blocks, functions and loops (ParseAPI), dataflow analyses such as slicing (DataFlowAPI), process control, stack walking and patching.

- Type: Tool
- Targets: Binary
- Category: Debugging and dynamic analysis
- Relationship: Foundation tool
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/dyninst/dyninst>
- Primary source: <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/README.md>
- Catalog page: <https://awesomerea.org/resources/dyninst/>
- Record JSON: <https://awesomerea.org/resources/dyninst/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/dyninst/index.md)

## Requirements & limits

- The CMake platform check accepts Linux, FreeBSD and Windows hosts on x86-64, 32-bit x86, AArch64, ppc64le and riscv64, plus AMD GPU code-generation targets; InstructionAPI documents x86, x86-64, ARMv8-64 and 32/64-bit PowerPC decoding. The README calls AArch64 dynamic instrumentation experimental and incomplete, and its known issues include no Windows 64-bit or Windows rewriter mode, uncaught exceptions in relocated code, a fragile Windows stack walker and a crash when parsing a binary with no functions.
- Latest release at review: v13.0.0, published 2024-03-21. The reviewed master commit still declares version 13.0.0 and is 590 commits ahead of that tag; the README says the bundled v13.0.0 PDF manuals are a snapshot, so current behavior needs manuals built from source with pdflatex.
- Install with Spack or build from source with CMake 3.14+ (3.19.0 is rejected), a C11/C++11 toolchain (GCC 6+), Boost 1.71+, TBB 2019.9+ and, on Unix, elfutils 0.186+; Docker containers for development are described in the docker directory. Users supply their own executables, libraries or running processes to analyze or instrument.
- LGPL-2.1 (LICENSE.md). COPYRIGHT credits Barton P. Miller with contributions from LLNS, Red Hat and Bull SAS, and DataFlowAPI incorporates Rose Compiler Project code under its own copyright notice.

## Primary sources

1. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/README.md>
2. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/README.md#L47-L63>
3. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/docs/README.md>
4. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/docs/dyninstAPI/manual-latex/Introduction.tex>
5. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/docs/parseAPI/manual-latex/1-Intro.tex>
6. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/docs/instructionAPI/manual-latex/1-Intro.tex>
7. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/docs/dataflowAPI/manual-latex/Intro.tex>
8. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/cmake/DyninstPlatform.cmake>
9. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/CMakeLists.txt>
10. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/cmake/DyninstLanguageStandards.cmake>
11. <https://github.com/dyninst/dyninst/tree/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/cmake/tpls>
12. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/LICENSE.md>
13. <https://github.com/dyninst/dyninst/blob/0c083894f16d5ea9beb8ad1eea2b60b5c2f95f86/COPYRIGHT>
14. <https://github.com/dyninst/dyninst/releases/tag/v13.0.0>

## More in Native binaries

- [goblin](https://awesomerea.org/resources/goblin/index.md) · Tool
- [FLOSS (FLARE Obfuscated String Solver)](https://awesomerea.org/resources/flare-floss/index.md) · Tool
- [Zydis](https://awesomerea.org/resources/zydis/index.md) · Tool
- [QBDI](https://awesomerea.org/resources/qbdi/index.md) · Tool
- [binsider](https://awesomerea.org/resources/binsider/index.md) · Tool
- [iced](https://awesomerea.org/resources/iced/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
