pub struct Scanner(/* private fields */);Expand description
Single result IDA-style pattern scanner
A pattern scanner that searches for an IDA-style pattern and returns the pointer to the first occurrence in the binary.
Implementations§
Source§impl Scanner
impl Scanner
Sourcepub unsafe fn find(
&self,
preferred_scan_mode: Option<ScanMode>,
binary_ptr: *const u8,
binary_size: usize,
) -> ScanResult
pub unsafe fn find( &self, preferred_scan_mode: Option<ScanMode>, binary_ptr: *const u8, binary_size: usize, ) -> ScanResult
Find the first occurence of the pattern in the binary
§Params
-
preferred_scan_mode- preferred scan mode to use (Avx2, Sse42, Scalar) if the preferred mode is not available, will choose the fastest out of the availble ones -
binary_ptr- pointer to the first element of the binary to search the pattern in -
binary_size- binary size
§Safety
-
binary_ptr- is a valid pointer -
binary_size- corresponds to a valid size ofbinary
§Example
use lightningscanner::Scanner;
let binary = [0xab, 0xec, 0x48, 0x89, 0x5c, 0x24, 0xee, 0x48, 0x89, 0x6c];
let scanner = Scanner::new("48 89 5c 24 ?? 48 89 6c");
let result = unsafe { scanner.find(None, binary.as_ptr(), binary.len()) };
println!("{:?}", result);Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scanner
impl RefUnwindSafe for Scanner
impl Send for Scanner
impl Sync for Scanner
impl Unpin for Scanner
impl UnwindSafe for Scanner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more