DynamoRIO is a runtime code manipulation system that supports code transformations on any part of a program, while it executes. DynamoRIO exports an interface for building dynamic tools for a wide variety of uses: program analysis and understanding, profiling, instrumentation, optimization, translation, etc. Unlike many dynamic tool systems, DynamoRIO is not limited to insertion of callouts/trampolines and allows arbitrary modifications to application instructions via a powerful IA-32/AMD64/ARM/AArch64 instruction manipulation library. DynamoRIO provides efficient, transparent, and comprehensive manipulation of unmodified applications running on stock operating systems (Windows, Linux, or Android) and commodity IA-32, AMD64, ARM, and AArch64 hardware. Mac OSX support is in progress.

Features

  • The Arm Instruction Emulator (ArmIE)
  • WinAFL, the Windows fuzzing tool, as an instrumentation and code coverage engine
  • The fine-grained profiler for ARM DrCCTProf
  • The portable and efficient framework for fine-grained value profilers VClinic
  • The memory debugging tool Dr. Memory
  • The tracing and analysis framework drmemtrace with multiple tools that operate on both online (with multi-process support) and offline instruction and memory address traces
  • Build your own custom tools
  • Documentation available

Project Samples

Project Activity

See All Activity >

Categories

Runtimes

License

MIT License

Follow DynamoRIO

DynamoRIO Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of DynamoRIO!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C

Related Categories

C Runtimes

Registered

2024-06-21