diff --git a/src/extension.cpp b/src/extension.cpp index bccaba1..b6341bf 100644 --- a/src/extension.cpp +++ b/src/extension.cpp @@ -168,8 +168,12 @@ bool CS2ServerGUI::Hook_FilterMessage(CNetMessage* pData, void* pNetChan) void SetupHook() { CModule engineModule(ROOTBIN, "engine2"); - + +#ifdef _WIN32 auto serverSideClientVTable = engineModule.FindVirtualTable("CServerSideClient", 8); +#else + auto serverSideClientVTable = engineModule.FindVirtualTable("CServerSideClient", -64); +#endif if (!serverSideClientVTable) { diff --git a/src/utils/plat_unix.cpp b/src/utils/plat_unix.cpp index 3fb6c90..fba2c4a 100644 --- a/src/utils/plat_unix.cpp +++ b/src/utils/plat_unix.cpp @@ -246,7 +246,7 @@ void* CModule::FindVirtualTable(const std::string& name, int32_t offset) while (void* vtable = sigIt3.FindNext(false)) { - if (*(int64_t*)((uintptr_t)vtable - 0x8) == 0) + if (*(int64_t*)((uintptr_t)vtable - 0x8) == (int64_t)offset) return (void*)((uintptr_t)vtable + 0x8); } }