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