Basic PatternScanner
Basic Pattern scanner which supports Byte wise and Nibble wise scanning with raw byte/mask combinations as well as derivation from a ida/sigmaker pattern. Fully written in safe Rust.
NOTE: THIS IS NOT AN IN-PROCESS MEMORY SCANNER, YOU WILL HAVE TO GET THE DATA OF THE BINARY OR PROCESS YOURSELF
Usage
This shows basic usage, different architectures will require different patterns.
use Pattern;
use ;
// This data has to be retrieved before usage, via ReadMemory or similar methods
let data: & = &;
// IDA-style pattern
let p = from_ida_str.unwrap;
// Nibble-level wildcards
let p_nibble = from_ida_like_with_nibble.unwrap;
// Raw bytes + mask
let p_raw = new_with_byte_mask.unwrap;
// Collect all matches
for m in scan_all
// With a module base address
let base: u64 = 0x140000000;
for m in scan_all_with_base
// Lazy — stop after the first hit
if let Some = scan_all_iter.next
// Check a single known offset
assert!;