![]() |
Всех приветствую, столкнулся с проблемой , при добавлении в чит функционал анлоада (всего чита), получаю краш игры, подскажите пожалуйста какую последовательность нужно соблюдать при анхуке функций и после удаления их самих.
Сейчас логика такая: Этап 1 — Cheat::Unload() (синхронный): main.cpp: Код:
voidЭтап 2 — UnloadThread() (асинхронный): main.cpp: Код:
DWORD WINAPIПочему два этапа? А потому что: Нельзя вызвать FreeLibrary из того же потока, который выполняет код DLL — это приведёт к крашу FreeLibraryAndExitThread — специальная WinAPI функция, которая атомарно выгружает DLL и завершает поток Sleep(100) даёт время основному потоку завершить рендеринг текущего кадра Если ошибся то поправьте Связь с g_hModule В main.cpp при загрузке DLL сохраняется её handle: main.cpp: Код:
HMODULE g_hModuleЭтот g_hModule потом передаётся в UnloadThread для вызова FreeLibraryAndExitThread. |
Приатачься к процессу и посмотри https://www.blast.hk/threads/20320/
А так, мб хук какой то забыл снять и крашит. |
вот пример как делал я у меня все работает
unload.cpp: Код:
#include "unload.h" |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
| Время: 13:04 |