bool compare(PBYTE sig, PCHAR mask, PBYTE adr)
{
for (unsigned int i = 0; i < strlen(mask); i++)
if (mask[i] == 'x' && sig[i] != adr[i]) return false;
return true;
}
DWORD AdresBul(PBYTE sig, PCHAR mask, DWORD dwBase, DWORD dwLen, int iIndex)
{
int cIndex = 0;
if (!dwBase || !mask || !dwLen || !sig) return false;
for (PBYTE i = (PBYTE)dwBase; i != (PBYTE)(dwBase + dwLen); i++)
if (compare(sig, mask, i))
if (iIndex == cIndex++) return (DWORD)i;
return false;
}
DWORD noweaponsp_adr = 0;
void adreslerial(){
while(true){
if(noweaponsp_adr==0)
noweaponsp_adr = AdresBul((PBYTE)"\x75\x00\x0f\xb7\x00\x00\x50\x8d\x4e","x?xx??xxx",cshellbase,cshellsize,0);
Sleep(100);
}
}