#include "kthook/kthook.hpp"
using RakClientConnect_t = bool(__thiscall*)(void* pRakClient, const char* host, unsigned short serverPort, unsigned short clientPort, unsigned int depreciated, int threadSleepTimer);
kthook::kthook_simple<RakClientConnect_t>(RakClientConnectHook);
bool RakClientConnectHooked(const decltype(RakClientConnectHook)& hook, void* pRakClient, const char* host, unsigned short serverPort, unsigned short clientPort, unsigned int depreciated, int threadSleepTimer)
{
if (strcmp(host, "127.0.0.1") == 0))
std::cout << "Ochko anus rvat ebat" << std::endl;
else
std::cout << "Ne chunazes" << std::endl;
return hook.get_trampoline()(pRakClient, host, serverPort, clientPort, depreciated, threadSleepTimer);
}
auto SAMPHandle = reinterpret_cast<std::uintptr_t>(GetModuleHandle("samp.dll"));
RakClientConnectHook.set_cb(&RakClientHooked);
RakClientConnectHook.set_dest(SAMPHandle + 0x339F0); // R3
RakClientConnectHook.install();