docs.rs failed to build skidscan-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
skidscan-2.0.1
skidscan
Quick & dirty Rust sigscanning crate.
Features
- Cross-platform
- Scan for patterns from a pointer
- Scan for patterns in a byte slice
- Scan for patterns in a loaded shared library (.so/.dll)
- "Obfuscated signatures" using obfstr
Usage
let sig = signature!;
let sig = obfsignature!; // "Obfuscated" signature
let result: = sig.scan_module;
let result: = sig.scan_ptr;
let result: = sig.scan;
Signatures
Signatures are constructed as a series of Option<u8>.
None represents a ?: any byte, so long as it is present.
Some(u8) represents this byte exactly.
For example, signature!("48 89 91 ? ? ?") becomes [Some(0x48), Some(0x89), Some(0x91), None, None, None]
Obfuscated Signatures
You can construct an "obfuscated" signature using obfstr with the obfuscate crate feature.
Obfuscated signatures are constructed, for each byte: Some(obfstr!("0xFF").parse::<u8>())
For example, signature!("48 89 91 ? ? ?") becomes [Some(obfstr!("0x48").parse::<u8>()), Some(obfstr!("0x89").parse::<u8>()), Some(obfstr!("0x91").parse::<u8>()), None, None, None]