basic_pattern_scanner 1.0.2

Fast no-dependencies byte-pattern scanner with IDA-style and nibble-mask pattern support
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
## 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.

With version 1.0.0 support for SIMD was added via the std::simd unstable nightly implementation branch. More SIMD implementations might be added, but will similarly be feature flag guarded. 

The `simd_std_unstable` feature flag requires Rust nightly to be built.

NOTE: THIS IS NOT AN IN-PROCESS MEMORY SCANNER, YOU WILL HAVE TO GET THE DATA OF THE BINARY OR PROCESS YOURSELF

## Usage

Examples can be found under [minimal-example](https://github.com/EKQRCalamity/basic-pattern-scanner/tree/master/minimal-example). These point to a directory path, so if it is removed from the folder structure you will have to change it to a release on [crates.io](https://crates.io).

If you checked out the examples, you will notice adoption of SIMD or vise versa Scalar is as easy as using a different `Scanner` implementing `PatternIterator`. The only hurdle for building with SIMD support is the nightly guard, but as long as you compile with `cargo +nightly` this should not be a problem. In my own setup I was able to see around a 1.3-2x increase in speed of search when using SIMD, this will MOST LIKELY differ on your own setup.

Another example of usage for this module can be found in my RPM/WPM project: [lime-rs](https://github.com/EKQRCalamity/lime-rs)
This is a project I try to keep up to date, but it's not meant as much of a public thing. So it's unlikely I will add a Readme for it.