AOBscan is a library for multi-threaded AOB memory scanning
48 8b ? ? ? 48 8c ?? ?? ?? ??
48 8b 00 00 00
, ..???
)488b??????
Add this to your Cargo.toml
:
toml
[dependencies]
aobscan = "0.1"
Example: Scan for 48 8B ? ? ? in
some.bin
with all the available threads, and stop at the first match.
rust
fn main() {
let data = include_bytes!("some_file.bin");
let result = aobscan::Pattern::from_ida_style("48 8B ? ? ? ?")
.unwrap()
.with_all_threads()
.build()
.scan(data, |offset| {
println!("Found pattern at offset: 0x{:x}", offset);
false
});
}
The results of the benchmark
example are as follows:
| CPU | MT | ST | |--------------------|-----------|-----------| | Apple M1 Pro (10C) | 6.21 GB/s | 0.82 GB/s |