Honestly, if you guys can get this into dll form it may way.
I fixed some errors in the code and stuff.
So if this helped, Whatever. lol i don't think it will work anyway. But i edited a few
Code:
'If #define HS_JMP0 x63B31D()
'if #define HS_JMP2 0x63B323()
'('typedef int)
'(__cdecl *HS_GetProcAddress_t)( int hModule); int a2 );
'typedef (signed (int) (__stdcall__) KickProc_t)( int (a1), int (a2) int a3
'(typedef int) (__stdcall *HackshieldComm_t )( int, void*, void* );
'(HS_GetProcAddress_P)_(pHS_GetProcAddress) = NULL
'(HackshieldComm_t)(pHackshieldComm) = NULL
'(KickProc_t(pKickProc) = NULL
'(Signed(Int()) '__stdcall new_KickProc( int a1, int a2, int a3 )'
'(Return 1
'typedef (int) (__cdecl *HS_GetProcAddress_t)( int hModule, int a2 );
'(typedef int (__stdcall *HackshieldComm_t )( int, void*, void* );
'(typedef signed int (__stdcall *KickProc_t)( int a1, int a2, int a3 )
'HS_GetProcAddress_t pHS_GetProcAddress = NULL;
'HackshieldComm_t pHackshieldComm = NULL;
'KickProc_t pKickProc = NULL;
'signed int __stdcall new_KickProc( int a1, int a2, int a3 )
'{;
'return 1;
'};
'Int() '__stdcall new_HackshieldComm( int hsCommCode, void *Param1, void *Param2 )
'(;
'if 'hsCommCode == 4 || hsCommCode == 5 || hsCommCode == 13 ) //kill!
'End If
'{;
'if( hsCommCode == 4 ) //replace kick proc
'End If
'{;
'DWORD *dwParam1 = (DWORD *)Param1;
'pKickProc = (KickProc_t)*dwParam1;
'*dwParam1 = (DWORD)new_KickProc;
'};
'int iReturn = pHackshieldComm( hsCommCode, Param1, Param2 );
'(Return 1;)
'};
'int iReturn = pHackshieldComm( hsCommCode, Param1, Param2 );
'(return iReturn;)
'};
'(HookCommunication(EXCEPTION_POINTERS * pExceptionInfo) Void* );
'{;
'DWORD dwEbp = pExceptionInfo->ContextRecord->Ebp;
'DWORD dwParam2 = 0;
'__asm()
'{;
'push eax;
'push edx;
'mov eax, dwEbp;
'mov edx, [eax+0xC];
'mov dwParam2, edx;
'pop edx;
'pop eax;
'};
'if( dwParam2 == 0xA ) //this is the ordinal of some export...hmm..
'{;
'pHackshieldComm = (HackshieldComm_t)pExceptionInfo->ContextRecord->Eax;
'pExceptionInfo->ContextRecord->Eax = (DWORD)new_HackshieldComm;
'};
'pExceptionInfo->ContextRecord->Eip = HS_JMP2;
'return;
'};
'PVOID pContextHandler = NULL;
'WINAPI' ***ExceptionHandler( EXCEPTION_POINTERS* pExceptionInfo ) LONG* );
'{;
'if( pExceptionInfo->ExceptionRecord->ExceptionCode != EXCEPTION_SINGLE_STEP )
'End If
'{;
'return EXCEPTION_CONTINUE_SEARCH;
'};
'if( pExceptionInfo->ExceptionRecord->ExceptionAddress == (PVOID)HS_JMP )
'{;
';HookCommunication( pExceptionInfo );
';return EXCEPTION_CONTINUE_EXECUTION;
'};
'return EXCEPTION_CONTINUE_SEARCH;
'};
' InitContextHook()(;ContextHandler. = AddVectoredExceptionHandler( 0x50BE17, ***ExceptionHandler ); void* );
'CONTEXT Context;
'Contex*****ntextFlags = CONTEXT_DEBUG_REGISTERS;
'GetThreadContext(GetCurrentThread(), &Context);
'Context.Dr0 = HS_JMP;
' Context.Dr7 = (1<<0)|(1<<2)|(1<<4)|(1<<6);
'SetThreadContext(GetCurrentThread(), &Context);