libvex

Crates.iolibvex
lib.rslibvex
version0.1.1
sourcesrc
created_at2021-03-08 05:29:41.936274
updated_at2024-12-03 10:41:57.071838
descriptionHigh-level bindings for valgrind's LibVEX.
homepage
repositoryhttps://github.com/noam93k/libvex-rs
max_upload_size
id365527
size62,715
Noam Kleinburd (noam93k)

documentation

README

crates.io docs.rs

LibVEX

LibVEX provides bindings to valgrind's IR, VEX.

Quick Start

Add LibVEX to your Cargo.toml:

[dependencies]
libvex = "0.1"

Lift some code to an IRSB:

fn foo() {
    let mut vta = VexTranslateArgs::new(
        Arch::VexArchAMD64,
        Arch::VexArchAMD64,
        VexEndness::VexEndnessLE,
    );
    let irsb = vta.front_end(foo as *const _, foo as _).unwrap();
}

Or translate:

fn translate() {
    let mut buf = [0; 1000];

    let size = vta.translate(
        translate as *const _,
        translate as _,
        &mut buf,
    ).unwrap();
}
Commit count: 12

cargo fmt