typedef char *( *PBHook_t)( signed int a, char *Str, int a3, int a4 ); PBHook_t orig_PBHook; char *PBHook( signed int a, char *Str, int a3, int a4 ) { _asm pushad unsigned int Kick; _asm mov Kick, ebx; if( Kick == 81 || Kick == 46 || Kick == 7 || Kick == 6 || Kick == 5 ) Kick = (unsigned int)""; Log( "\nKick_Number = %i\n", Kick ); _asm mov ebx, Kick; _asm popad return orig_PBHook( a, Str, a3, a4 ); } HMODULE (__stdcall *orig_LoadLibraryA)( LPCSTR lpFileName ); HMODULE __stdcall LoadLibraryA_Hook( LPCSTR lpFileName ) { HMODULE hModule = orig_LoadLibraryA( lpFileName ); DWORD Base = (DWORD)GetModuleHandleA( lpFileName ); if( strstr( lpFileName, "pbcl.dll" ) ) { orig_PBHook = (PBHook_t)DetourFunction((PBYTE)Base + 0x1F1E4, (PBYTE)PBHook ); } return hModule; }