Advertisement
vytenis555

AoB Scan

Mar 10th, 2013
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. bool Check(const BYTE *pbData, const BYTE *pbMask, const char *pszMask)
  2. {
  3.     for(; *pszMask; ++pszMask, ++pbData, ++pbMask)
  4.         if(*pszMask != '?' && *pbData != *pbMask )
  5.             return false;
  6.  
  7.     return (*szMask) == NULL;
  8. }
  9.  
  10. DWORD FindPattern(BYTE *bMask, char *pszMask, DWORD dwOffset)
  11. {
  12.     DWORD dwAddress = 0x00400000;
  13.     DWORD dwLen = 0x07FFFFFF;
  14.  
  15.     __try
  16.     {
  17.         for(DWORD i = 0; i < dwLen; i++)
  18.             if(Check((BYTE*)(dwAddress + i), bMask, pszMask))
  19.                 return (DWORD)(dwAddress + i + dwOffset);
  20.     }
  21.     __except(EXCEPTION_EXECUTE_HANDLER)
  22.     {
  23.         MessageBox(NULL, "Error occurred while trying to find the pattern.", "Error", MB_OK | MB_ICONERROR);
  24.     }
  25.  
  26.     return 0x00400000;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement