BOOL MemoryEdit (VOID *lpMem,VOID *lpSrc,DWORD len)//
{
DWORD lpflOldProtect, flNewProtect = PAGE_READWRITE;
unsigned char * pDst = (unsigned char *)lpMem,
*pSrc = (unsigned char *)lpSrc;
if (VirtualProtect(lpMem,len,flNewProtect,&lpflOldPro tect))
{
while(len-- > 0) *pDst++ = *pSrc++;
return (0);
}
return (1);
}
void Warrock_Bypass(void)
{
DWORD dwEhSvc;
do
{
dwEhSvc = (DWORD)GetModuleHandleA("Ehsvc.dll");
Sleep(30);
}
while (!dwEhSvc);
MemoryEdit((void *)(dwEhSvc + 0x09FA8), (void *)"\x74\x15", 2);//HSCallBack2
MemoryEdit((void *)(dwEhSvc + 0x7A387), (void *)"\xC3", 1);/HSCallBack1
MemoryEdit((void *)(dwEhSvc + 0x98510), (void *)"\x03\xD2", 2);//HSNanoScan1
MemoryEdit((void *)(dwEhSvc + 0x95F5F), (void *)"\xB8\x00\x00\x00\x00",5);//HSNanoScan2
MemoryEdit((void *)(dwEhSvc + 0x09F10), (void *)"\xC2\x04\x00",3);//Detection
MemoryEdit((void *)(dwEhSvc + 0x2BBC1), (void *)"\x90\x90",2);//HS_ASM
MemoryEdit((void *)(dwEhSvc + 0x3C52E), (void *)"\x90\x90",2);//HSAntiCrash