MS CRC Bypass:
HS CRC Bypass:
Heres a C++ Version of the HSCRC Bypass, you will need to compile it yourself.(DLL File)
Code:
[Enable] Alloc(NewMemory, 4194304) Alloc(CRCCave, 128) Alloc(CopyMemory, 128) CreateThread(CopyMemory) Label(End) 00485A1C: jmp CRCCave CRCCave: cmp ecx,00400000 jl End cmp ecx,00A00000 jg End add ecx,NewMemory-00400000 End: mov eax,[ebp+10] push esi push edi jmp 00485A21 CopyMemory: mov esi,00400000 mov edi,NewMemory mov ecx,00100000 rep movsd push 00 call ExitThread [Disable]
Code:
[Enable] //Name: HackShield CRC Check Bypassing CE Assembly Script. alloc(HSCRCFail,256) label(BackToOP) OpenProcess: jmp HSCRCFail HSCRCFail: mov eax, fs:[20] cmp eax, [esp+0c] jne BackToOP mov fs:[34], 57 xor eax, eax ret 000c BackToOP: mov edi, edi push ebp mov ebp, esp jmp OpenProcess+5 [Disable] OpenProcess: mov edi, edi push ebp mov ebp, esp dealloc(HSCRCFail)
Heres a C++ Version of the HSCRC Bypass, you will need to compile it yourself.(DLL File)
Code:
#include <windows.h> #define JMP(frm, to) (int)(((int)to - (int)frm) - 5) DWORD dwOpenProcess = (DWORD)OpenProcess; __declspec(naked) VOID WINAPI OpenProcessHook() { __asm { call GetCurrentProcessId cmp eax, [esp+0Ch] jnz Return push ERROR_INVALID_PARAMETER call SetLastError xor eax, eax ret 0Ch Return: push ebp mov ebp, esp jmp [dwOpenProcess+5] } } inline BOOL ToggleBypass(__in BOOL b) { static BOOL bEnabled = FALSE; BOOL bRet = FALSE; if(b != (bEnabled = !bEnabled)) return FALSE; __try { if(b) { *(BYTE*)dwOpenProcess = 0xE9; *(DWORD*)(dwOpenProcess + 1) = JMP(dwOpenProcess, OpenProcessHook); } else { *(WORD*)dwOpenProcess = 0xFF8B; // mov edi, edi *(BYTE*)(dwOpenProcess + 2) = 0x55; // push ebp *(WORD*)(dwOpenProcess + 3) = 0xEC8B; // mov ebp, esp } bRet = TRUE; } __except(EXCEPTION_EXECUTE_HANDLER) { bRet = FALSE; } return bRet; } BOOL APIENTRY DllMain(__in HMODULE hModule, __in DWORD fdwReason, __in __reserved LPVOID lpvReserved) { switch(fdwReason) { case DLL_PROCESS_ATTACH: dwOpenProcess = (DWORD)OpenProcess; if(dwOpenProcess != 0) { if(ToggleBypass(TRUE)) { DisableThreadLibraryCalls(hModule); break; } } return FALSE; case DLL_PROCESS_DETACH: ToggleBypass(FALSE); break; } return TRUE; }