| Crates.io | libvex |
| lib.rs | libvex |
| version | 0.1.1 |
| created_at | 2021-03-08 05:29:41.936274+00 |
| updated_at | 2024-12-03 10:41:57.071838+00 |
| description | High-level bindings for valgrind's LibVEX. |
| homepage | |
| repository | https://github.com/noam93k/libvex-rs |
| max_upload_size | |
| id | 365527 |
| size | 62,715 |
LibVEXLibVEX provides bindings to valgrind's IR, VEX.
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();
}