aobscan 0.1.6

AOBscan is a library for multi-threaded AOB memory scanning
Documentation

AOBscan is a library for multi-threaded AOB memory scanning

Features

  • Single-threaded and multi-threaded scanning
  • Match selection using callback functions
  • IDA-style patterns: 48 8b ? ? ? 48 8c ?? ?? ?? ??
  • Code-style signatures/masks: (48 8b 00 00 00, ..???)
  • Hexadecimal strings: 488b??????

Usage

Add this to your Cargo.toml:

[dependencies]
aobscan = "0.1"

Example: Scan for 48 8B ? ? ? in some.bin with all the available threads, and stop at the first match.

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
        });
}

Benchmark

The results of the benchmark example are as follows:

CPU MT ST
Apple M1 Pro (10C) 6.21 GB/s 0.82 GB/s