Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate regex; // 1.0.5
- use regex::bytes::RegexBuilder;
- fn main() {
- let pat = r"\xE8(....)\x48\x8B\x4D\xD7\x4C\x8B\xBC\x24....";
- let re = RegexBuilder::new(pat)
- .unicode(false)
- .build()
- .expect("Pat failed to compile");
- let haystack = vec![0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x48, 0x8B, 0x4D, 0xD7, 0x4C, 0x8B, 0xBC, 0x24, 0xFF, 0xFF, 0xFF, 0xFF];
- println!("Haystack: {:?}", haystack);
- println!("Haystack: {:?}", pat);
- let mut pos : usize = 2;
- loop {
- let cap = re.find(&haystack[pos..]);
- if let Some(result) = cap {
- pos += result.start() + 1;
- println!("Found: {:?} at {:?}", result.as_bytes(), pos - 1);
- }
- else{
- break;
- }
- }
- }
Add Comment
Please, Sign In to add comment