3 stable releases

11.90.1 Mar 7, 2025
11.90.0 Mar 6, 2025
8.0.0 Nov 13, 2020

#204 in Profiling

Download history 1/week @ 2024-12-04 1/week @ 2024-12-11 315/week @ 2025-03-05 7/week @ 2025-03-12

322 downloads per month

MIT/Apache

38MB
411K SLoC

C 366K SLoC // 0.2% comments PO File 19K SLoC // 0.4% comments Assembly 8K SLoC C++ 5.5K SLoC // 0.2% comments GNU Style Assembly 4K SLoC // 0.1% comments Python 2K SLoC // 0.2% comments Happy 1.5K SLoC Automake 858 SLoC // 0.3% comments BASH 821 SLoC // 0.2% comments M4 770 SLoC // 0.1% comments Monkey C 637 SLoC Bitbake 527 SLoC Shell 424 SLoC // 0.5% comments TCL 310 SLoC // 0.4% comments Rust 226 SLoC // 0.1% comments Batch 82 SLoC // 0.6% comments Perl 72 SLoC // 0.5% comments Lex 64 SLoC // 0.3% comments AWK 34 SLoC // 0.3% comments

Contains (static library, 2.5MB) dwarf.lib, (static library, 2.5MB) dwarf.lib, (static library, 2.5MB) libelftc.a, (static library, 2MB) libdwarf.a, (static library, 1.5MB) libdwarf.a, (static library, 650KB) libelftc.a and 10 more.

dynamorio-sys

crates.io mio Lines of Code

A crate using bindgen to automatically generate Rust bindings to DynamoRIO. For safe Rust bindings to the DynamoRIO dynamic binary instrumentation framework, you may want to consider using dynamorio-rs instead. dynamorio-rs uses this crate to provide safe Rust bindings to DynamoRIO such that you can write DynamoRIO clients in Rust.

Supported Platforms

dynamorio-sys is currently available for the following platforms:

  • Microsoft Windows
  • Linux

Usage

To build the project:

git clone --recurse-submodules https://github.com/elast0ny/dynamorio-sys.git
cd dynamorio-sys
cargo build

In order to enable extensions, use their respective names as features for the crate e.g :

dynamorio-sys = {version = "*", features = ["mgr", "x", "reg", "wrap", "syms"]}

Version

The crate's major and minor version match the major/minor version of the built DynamoRIO. This should allow users to use the latest DynamoRIO patch for their current major/minor while also allowing this crate to fix build issues and update its own patch version.

No runtime deps