Dobby is a lightweight, multi-platform, multi-architecture exploit hook framework.
This crate is a rusty binding of Dobby.
Caution: Hooking is NOT SAFE! Use at your own risk.
```rust use dobbyrs::{resolvesymbol, hook, Address}; use std::mem::transmute;
extern "C" fn add(a: u64, b: u64) -> u64 { a + b }
extern "C" fn sub(a: u64, b: u64) -> u64 { a - b }
unsafe { let addr = add as usize as Address; let replace = sub as usize as Address;
let origin = hook(addr, replace).unwrap();
let origin: extern "C" fn(u64, u64) -> u64 = transmute(origin);
assert_eq!(origin(2, 1), 2 + 1);
assert_eq!(add(2, 1), 2 - 1);
} ```
Android
MacOS
Linux