Guest User

Untitled

a guest
Oct 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. extern crate regex; // 1.0.5
  2. use regex::bytes::RegexBuilder;
  3.  
  4. fn main() {
  5. let pat = r"\xE8(....)\x48\x8B\x4D\xD7\x4C\x8B\xBC\x24....";
  6.  
  7. let re = RegexBuilder::new(pat)
  8. .unicode(false)
  9. .build()
  10. .expect("Pat failed to compile");
  11.  
  12. let haystack = vec![0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x48, 0x8B, 0x4D, 0xD7, 0x4C, 0x8B, 0xBC, 0x24, 0xFF, 0xFF, 0xFF, 0xFF];
  13.  
  14. println!("Haystack: {:?}", haystack);
  15. println!("Haystack: {:?}", pat);
  16.  
  17. let mut pos : usize = 2;
  18. loop {
  19. let cap = re.find(&haystack[pos..]);
  20.  
  21. if let Some(result) = cap {
  22. pos += result.start() + 1;
  23. println!("Found: {:?} at {:?}", result.as_bytes(), pos - 1);
  24. }
  25. else{
  26. break;
  27. }
  28. }
  29. }
Add Comment
Please, Sign In to add comment