# DynamoRIO

> Runtime code manipulation system for building dynamic tools that observe or transform any part of an unmodified program while it runs. Its API and IA-32/AMD64/ARM/AArch64 instruction manipulation library allow arbitrary changes to application instructions, not only inserted callouts. The release package bundles tools including drcov for code coverage, drltrace for library-call tracing, drstrace for Windows system calls, drmemtrace instruction and memory traces and the drdisas disassembler. It is a framework for building instrumentation tools, distinct from Frida's scripting of live processes.

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

## Requirements & limits

- The README lists Windows, Linux and Android on IA-32, AMD64, ARM and AArch64 hardware; macOS support is in progress. Latest stable release at review: release_11.3.0-1, published 2025-01-11, with Windows, Linux, AArch64 Linux, ARM Linux EABIHF and ARM Android packages. Weekly cronbuild packages follow master (cronbuild-11.91.20741, published 2026-10-17, with no Android package); this entry pins the reviewed master commit.
- Custom tools are written against the API, whose documentation ships in the release package and online; API samples cover memory-address, instruction and basic-block tracing and instruction counting. The README names WinAFL, the Arm Instruction Emulator, DrCCTProf, VClinic and GWPSan as external tools built on it and bundles Dr. Memory.
- Primarily BSD. The drsyscall, drwrap and drutil extensions and the Dr. Memory Framework libraries are LGPL 2.1, and the drsyms extension links elfutils libraries under LGPL 3.

## Primary sources

1. <https://github.com/DynamoRIO/dynamorio/blob/6d2165aa485ca91bf10faa64440cfadce850b0bc/README.md>
2. <https://github.com/DynamoRIO/dynamorio/blob/6d2165aa485ca91bf10faa64440cfadce850b0bc/README.md#L19-L50>
3. <https://github.com/DynamoRIO/dynamorio/blob/6d2165aa485ca91bf10faa64440cfadce850b0bc/License.txt>
4. <https://github.com/DynamoRIO/dynamorio/releases/tag/release_11.3.0-1>
5. <https://github.com/DynamoRIO/dynamorio/releases/tag/cronbuild-11.91.20741>
6. <https://dynamorio.org/page_download.html>

## More in Native binaries

- [Decompyle++ (pycdc)](https://awesomerea.org/resources/pycdc/index.md) · Tool
- [cwe_checker](https://awesomerea.org/resources/cwe-checker/index.md) · Tool
- [FLARE-VM](https://awesomerea.org/resources/flare-vm/index.md) · Tool
- [B2R2](https://awesomerea.org/resources/b2r2/index.md) · Tool
- [rz-ghidra](https://awesomerea.org/resources/rz-ghidra/index.md) · Tool
- [dewolf](https://awesomerea.org/resources/dewolf/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.
