Find Pattern Function:
Code:
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask) return 0;
return (*szMask) == NULL;
}
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i);
return 0;
}
Player Pointer:
Code:
FindPattern((DWORD)GetModuleHandleA("WarRock.exe"), 0x84C000, (PBYTE) "\x39\x1D\x00\x00\x00\x00\x0F\x84\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00", "xx????xx????x????x????");
Server Pointer:
Code:
FindPattern((DWORD)GetModuleHandleA("WarRock.exe"), 0x84C000, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x85\xC9\x74\x12\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x84\xC0\x74\x04\x33\xC0\x40\xC3\x33\xC0\xC3\x8B\x0D\x00\x00\x00\x00\x85\xC9\x74\x12\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x84\xC0\x74\x04\x33\xC0\x40\xC3\x33\xC0\xC3\x55", "xx????xxxxx????x????xxxxxxxxxxxxx????xxxxx????x????xxxxxxxxxxxx");
Fast Ammo:
Code:
FindPattern((DWORD)GetModuleHandleA("WarRock.exe"), 0x84C000, (PBYTE)"\xC6\x00\x00\x00\xC6\x00\x00\x00\xC6\x00\x00\x00\xC6\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00", "xxxxxxxxxxxxxxxxxxxxx????");
Fast Repair:
Code:
FindPattern((DWORD)GetModuleHandleA("WarRock.exe"), 0x84C000, (PBYTE)"\xC6\x00\x00\x00\xC6\x00\x00\x00\xC6\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00", "xxxxxxxxxxxxxxxxx????");