Tool

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.

Requirements and limitations

  • 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; none is catalogued separately here.
  • 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. The README's efficiency and transparency statements were not tested; no programs were instrumented.

About this entry

Type
Tool
Category
Debugging and dynamic analysis
Relationship
Foundation tool
Targets
Binary

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · DynamoRIO/dynamorio · Revision 6d2165a
  2. README.md#L19-L50 GitHub · DynamoRIO/dynamorio · Revision 6d2165a
  3. License.txt GitHub · DynamoRIO/dynamorio · Revision 6d2165a
  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