explaingit

claucece/dynamorio

Analysis updated 2026-07-18 · repo last pushed 2018-09-29

CAudience · researcherComplexity · 5/5DormantSetup · hard

TLDR

DynamoRIO lets you observe and modify a running program's machine code in real time, without changing or recompiling its source, on Windows, Linux, and Android.

Mindmap

mindmap
  root((repo))
    What it does
      Runtime instrumentation
      Rewrites machine code
      No recompiling needed
    Tech stack
      C language
      Windows Linux Android
    Use cases
      Memory debugging
      Cache simulation
      Code coverage tracking
    Audience
      Security researchers
      Performance engineers
      Tool builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a memory debugging tool that catches leaks and corruption without modifying source code.

USE CASE 2

Simulate how a program interacts with CPU caches to guide performance optimization.

USE CASE 3

Track code coverage or count instructions executed by a running program.

USE CASE 4

Trace which system calls an application makes at runtime for security analysis.

What is it built with?

C

How does it compare?

claucece/dynamorioac000/find-flvacc4github/kdenlive-omnifade
Stars0
LanguageCCC
Last pushed2018-09-292013-04-05
MaintenanceDormantDormant
Setup difficultyhardmoderatemoderate
Complexity5/52/52/5
Audienceresearcherdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires building or installing DynamoRIO and writing a custom client in C to instrument target programs.

Free and open-source, though the explanation does not specify the exact license terms.

Copy-paste prompts

Prompt 1
Walk me through setting up DynamoRIO to instrument a simple program and log every instruction it executes.
Prompt 2
Explain how a tool like Dr. Memory uses DynamoRIO to catch memory bugs without recompiling the target program.
Prompt 3
Show me how to write a basic DynamoRIO client that counts how many instructions a program runs.
Prompt 4
Help me use DynamoRIO to trace the system calls a specific Linux binary makes while running.

Frequently asked questions

What is dynamorio?

DynamoRIO lets you observe and modify a running program's machine code in real time, without changing or recompiling its source, on Windows, Linux, and Android.

What language is dynamorio written in?

Mainly C. The stack also includes C.

Is dynamorio actively maintained?

Dormant — no commits in 2+ years (last push 2018-09-29).

What license does dynamorio use?

Free and open-source, though the explanation does not specify the exact license terms.

How hard is dynamorio to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is dynamorio for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.