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
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
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