pode testar ai pra vc ver
esta igual o cabr e cana
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, &lpflOldProtect))
{
while (len-- >0) *pDst++ = *pSrc++;
VirtualProtect(lpMem, len, lpflOldProtect, &lpflOldProtect);
FlushInstructionCache(GetCurrentProcess(), lpMem, len);
return 1;
}
return 0;
}
void HSBypass(void)
{
DWORD dwEHSVC = 0;
do
{
dwEHSVC = (DWORD)GetModuleHandleA(/*"EhSvc.dll"*/XorStr<0xd2, 12, 0x349a6a3>("\xf0\x96\xbc\x86\xa0\xb4\xf6\xbd\xb6\x b7\xfe" + 0x349a6a3).s);
Sleep(250);
} while (!dwEHSVC);
MemoryEdit((void *)(dwEHSVC + 0x00101F10), (void *)"\xC2\x04\x00", 3); // Ehsvc Self CRC
MemoryEdit((void *)(dwEHSVC + 0x004643E), (void *)"\x31", 1); // Nano Check 1
MemoryEdit((void *)(dwEHSVC + 0x004338F), (void *)"\x31", 1); // Nano Check 2
MemoryEdit((void *)(dwEHSVC + 0x000AB90), (void *)"\xC2\x04\x00", 3); // Detection
MemoryEdit((void *)(dwEHSVC + 0x0090AB0), (void *)"\xC3", 1); // HS Call Back 1
MemoryEdit((void *)(dwEHSVC + 0x000AC28), (void *)"\x74\x15", 2); // HS Call Back 2
MemoryEdit((void *)(dwEHSVC + 0x00B3B78), (void *)"\x03\xD2", 2); // HS Nano Scan 1
MemoryEdit((void *)(dwEHSVC + 0x00B102D), (void *)"\xB0\x00\x00\x00\x00", 5);// HS Nano Scan 2
MemoryEdit((void *)(dwEHSVC + 0X00464B4), (void *) "\x90\x90\x90", 3); //HSAntiCrash
MemoryEdit((void *)(dwEHSVC + 0x0034F4D), (void *) "\x90\x90\x90", 3); // Asm Detection
}
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HSBypass, 0, 0, 0);
a unica class diferente no cana e essa
class cGameClientShell
{
public:
virtual void Function0(); //
virtual void Function1(); //
virtual void Function2(); //
virtual void Function3(); //
virtual void Function4(); //
virtual void Function5(); //
virtual void Function6(); //
virtual void Function7(); //
virtual void Function8(); //
virtual void Function9(); //
virtual void Function10(); //
virtual void Function11(); //
virtual void Function12(); //
virtual void Function13(); //
virtual void Function14(); //
virtual void Function15(); //
virtual void Function16(); //
virtual void Function17(); //
virtual void Function18(); //
virtual void Function19(); //
virtual void Function20(); //
virtual void Function21(); //
virtual void Function22(); //
virtual void Function23(); //
virtual void Function24(); //
virtual void Function25(); //
virtual void Function26(); //
virtual void Function27(); //
virtual void Function28(); //
virtual void Function29(); //
virtual void Function30(); //
virtual void Function31(); //
virtual void Function32(); //
virtual void Function33(); //
virtual void Function34(); //
virtual void Function35(); //
virtual void Function36(); //
virtual void Function37(); //
virtual void Function38(); //
virtual void Function39(); //
virtual void Function40(); //
virtual void Function41(); //
virtual void Function42(); //
virtual void Function43(); //
virtual void Function44(); //
virtual void Function45(); //
virtual void Function46(); //
virtual void Function47(); //
virtual void Function48(); //
virtual void Function49(); //
virtual void Function50(); //
virtual void Function51(); //
virtual void Function52(); //
virtual void Function53(); //
virtual void Function54(); //
virtual void Function55(); //
virtual DWORD GetClientInfoMgr();
virtual DWORD GetInterfaceManager();
virtual DWORD GetPlayerManager();
virtual void Function59(); //
virtual void Function60(); //
virtual void Function61(); //
virtual void Function62(); //
virtual void Function63(); //
virtual void Function64(); //
virtual cSFXMgr* GetSFXMgr();
};