#scan #signature #binary

nightly binsig

Provides an easy way to deal with searching for byte patterns using partial byte signatures

1 unstable release

0.1.0 Sep 25, 2023

#102 in #scan

MIT license

12KB
281 lines

About binsig

This crate provides an easy way to deal with searching for byte patterns using partial byte signatures.

Usage

use binsig::Pattern;

let haystack = &[
    0x11, 0x22, 0x33, 0x0, 0x0, 0x11, 0x22, 0x33, 0x11, 0x0, 0x33,
];
let pattern = Pattern::from_ida("11 ?? 33").expect("Should be valid signature");
for (pos, view) in pattern.scan(haystack) {
    println!("found needle at {} with bytes {:?}!", pos, view);
}

Output

found needle at 0 with bytes [17, 34, 51]!
found needle at 5 with bytes [17, 34, 51]!
found needle at 8 with bytes [17, 0, 51]!

Dependencies

~0.7–1.2MB
~27K SLoC