Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool Check(const BYTE *pbData, const BYTE *pbMask, const char *pszMask)
- {
- for(; *pszMask; ++pszMask, ++pbData, ++pbMask)
- if(*pszMask != '?' && *pbData != *pbMask )
- return false;
- return (*szMask) == NULL;
- }
- DWORD FindPattern(BYTE *bMask, char *pszMask, DWORD dwOffset)
- {
- DWORD dwAddress = 0x00400000;
- DWORD dwLen = 0x07FFFFFF;
- __try
- {
- for(DWORD i = 0; i < dwLen; i++)
- if(Check((BYTE*)(dwAddress + i), bMask, pszMask))
- return (DWORD)(dwAddress + i + dwOffset);
- }
- __except(EXCEPTION_EXECUTE_HANDLER)
- {
- MessageBox(NULL, "Error occurred while trying to find the pattern.", "Error", MB_OK | MB_ICONERROR);
- }
- return 0x00400000;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement