)//I did't code this part
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;
}
//end
//searth afje = FindPattern(mmd, 0xc18000, (PBYTE)"\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x68\x00\x00\x00\x00\xFF\xD0\x83\xC4\x04", "xx????xx????x????xxxxx"); //end



