procmod_scan/lib.rs
1//! Fast pattern and signature scanning for byte slices.
2//!
3//! Scan byte slices for patterns using IDA-style signatures or code-style
4//! byte/mask pairs. Patterns with an exact byte prefix use a fast-path filter
5//! that narrows candidates before verifying the full pattern.
6//!
7//! # Example
8//!
9//! ```
10//! use procmod_scan::Pattern;
11//!
12//! let pattern = Pattern::from_ida("48 8B ? 89").unwrap();
13//! let data = b"\x00\x48\x8B\xFF\x89\x00";
14//! assert_eq!(pattern.scan_first(data), Some(1));
15//! ```
16
17mod error;
18mod pattern;
19
20pub use error::{Error, Result};
21pub use pattern::{Pattern, Token};