fn main() {
let Ok(mut sker) = sigmatch::Seeker::with_name("main") else {
return;
};
let Ok(addr) = sker.search("00") else {
return;
};
println!("{:#x}", addr.wrapping_sub(sker.module_base as _) as usize);
let Ok(mut sker) = sigmatch::Seeker::with_name("user32.dll") else {
return;
};
let Ok(_ida_example) = sker.search("E8 ? ? ? ? 45 33 F6 66 44 89 34 33") else {
return;
};
let Ok(_x64dbg_example) = sker.search("E8 ?? ?? ?? ?? 45 33 F6 66 44 89 34 33") else {
return;
};
let Ok(_c_example) = sker.raw_search(
b"\xE8\x00\x00\x00\x00\x45\x33\xF6\x66\x44\x89\x34\x33",
"x????xxxxxxxx",
) else {
return;
};
let _ = || -> anyhow::Result<()> {
let _rebind_example = sker.bind("main")?.reverse_search("ab cd ?? ef")?;
Ok(())
}();
let mut sker1 = sigmatch::Seeker::new();
if sker1.bind("ntdll.dll").is_err() {
return;
}
}