Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. namespace Memory {
  2. ///////////////
  3. // ScriptContext Scanner, Pretty Damn Fast
  4. // Credits To ASDF
  5. ///////////////
  6.  
  7. bool compare(BYTE* address, BYTE* pattern, BYTE* mask) {
  8. for (; *mask; address++, pattern++, mask++) {
  9. if (*mask == 'x' && *address != *pattern) {
  10. return false;
  11. }
  12. }
  13. return true;
  14. }
  15.  
  16. DWORD Scan(BYTE* aob, BYTE* mask, BYTE prot = (PAGE_READONLY | PAGE_READWRITE | PAGE_WRITECOPY | PAGE_EXECUTE | PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY)) {
  17. MEMORY_BASIC_INFORMATION mbi;
  18. DWORD j = (DWORD)GetModuleHandle(NULL);
  19. while (j < 0x7FFFFFFF && VirtualQuery((void*)j, &mbi, sizeof(mbi))) {
  20. if (!(mbi.Protect & PAGE_GUARD) && (mbi.State & MEM_COMMIT) && (mbi.Protect & prot)) {
  21. for (DWORD k = (DWORD)mbi.BaseAddress; k < ((DWORD)mbi.BaseAddress + mbi.RegionSize); ++k) {
  22. if (compare((BYTE*)k, (BYTE*)aob, (BYTE*)mask)) {
  23. return k;
  24. }
  25. }
  26. }
  27. j += mbi.RegionSize;
  28. }
  29. return 0;
  30. }
  31. ///////////////
  32. }
  33.  
  34. //HOW 2 ACTUALLY SCAN FOR IT:
  35.  
  36. ScriptContext = Memory::Scan((BYTE*)&ScriptContextVFT_Addy, (BYTE*)"xxxx", PAGE_READWRITE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement