namespace { const auto HOOK_ADDR = 0x8A76 ; const auto HOOK_LEN = 1 ; auto __cdecl name_hook ( ) { const char aServerClosedTh [ ] = "Closed" ; return aServerClosedTh ; } ; } void installHook ( ) { auto samp = ( DWORD ) GetModuleHandleA ( "samp" ) ; auto relative_addr = ( DWORD ) & name_hook - ( samp + HOOK_ADDR + HOOK_LEN ) ; DWORD vp ; VirtualProtect ( ( void * ) ( samp + HOOK_ADDR ) , HOOK_LEN , PAGE_EXECUTE_READWRITE , & vp ) ; * ( DWORD * ) ( samp + HOOK_ADDR + 1 ) = relative_addr ; VirtualProtect ( ( void * ) ( samp + HOOK_ADDR ) , HOOK_LEN , vp , & vp ) ; } ;