Hi everyone, today i will be releasing a external scan pattern! Goodluck! Thanks if it helps
Code:
DWORD ScanPatternEx(HANDLE hProc, DWORD base, DWORD len, BYTE* sig, char* mask)
{
BYTE* buf = (BYTE*)VirtualAlloc(0, len, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if(ReadProcessMemory(hProc,(LPCVOID)base,buf,len,N ULL) == false)
{
char buf2[64];
sprintf(buf2, "RPM Error code: %d", GetLastError());
MessageBoxA(0,buf2, "Error", MB_OK);
return NULL;
}
for(int i = 0; i < len; i++)
{
if((buf[i] == sig[0] && mask[0] == 'x')||(mask[0] == '?'))
{
for(int x = 0;; x++)
{
if(mask[x] == 'x')
{
if(buf[i+x] == sig[x])
continue;
else
break;
}
else if(mask[x] == 0x00)
{
return (DWORD)(base+i);
}
}
}
}
return NULL;
}