Dreammmless.
-
Автор темы
- #1
Оригинал был взят
Работоспособность не проверял
И так, начинаем:
В hooks.cpp над g_Hooks.pClientModeHook->Hook(vtable_indexes::createMove, Hooks::CreateMove);
чтобы получилось примерно так
Потом, над namespace StoredLocalPlayer { и под void ApplyAAAHooks()
чтобы получилось примерно так
готово, у вас есть (возможно) рабочий sv_pure anti-kick for xy0!
upd. я точно не уверен нужно ли это, но если у вас какая-то ошибка, попробуйте в hooks.h под
добавить
чтобы получилось примерно так
Пожалуйста, авторизуйтесь для просмотра ссылки.
Работоспособность не проверял
И так, начинаем:
В hooks.cpp над g_Hooks.pClientModeHook->Hook(vtable_indexes::createMove, Hooks::CreateMove);
C++:
auto CheckFileCRCsWithServer = reinterpret_cast<void*>(Utils::FindSignature(("engine.dll"), ("55 8B EC 81 EC ? ? ? ? 53 8B D9 89 5D F8 80"))); //чисто на всякий случай
if (CheckFileCRCsWithServer) {
g_Hooks.pClientHook ->Hook(23, Hooks::hkCheckFileCRCsWithServer); // почему индекс? VMTHook отвечу я!
}
Потом, над namespace StoredLocalPlayer { и под void ApplyAAAHooks()
C++:
void __fastcall hkCheckFileCRCsWithServer(void* ecx, void* edx)
{
// dont do anything.. to prevent CRC check from happening
return;
}
готово, у вас есть (возможно) рабочий sv_pure anti-kick for xy0!
upd. я точно не уверен нужно ли это, но если у вас какая-то ошибка, попробуйте в hooks.h под
C++:
static void __fastcall LockCursor(ISurface*, void*);
C++:
void __fastcall hkCheckFileCRCsWithServer(void* ecx, void* edx);
Последнее редактирование: