Indigo dll unload

Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Есть ли какой то способ выгрузки дллки индиго из игры?

После Engine::Shutdown() игру крашит
 
Get good. Get Mercy.
Забаненный
Статус
Оффлайн
Регистрация
20 Мар 2018
Сообщения
340
Реакции[?]
144
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Анхукаешь всё, что надо -> выгружаешь длл
 
Болтовня ничего не стоит. Покажите мне код.
Пользователь
Статус
Оффлайн
Регистрация
15 Фев 2017
Сообщения
319
Реакции[?]
122
Поинты[?]
0
Значит не всё хуки убирает вот и крашит
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Значит не всё хуки убирает вот и крашит
Да, пропустил один хук. Анхукнуть получается всё, но 2-ой раз уже не заинжектишь чит? так-как длл остается в процессе, а хуки отключены. Хотел таким способом постоянно инжектить длл новую для тестов, но что-то не вышло
UPD: При добавлении DELETE_MOD(g_pPlayers); крашит
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
12 Июн 2014
Сообщения
999
Реакции[?]
1,209
Поинты[?]
3K
Чтобы сделать выгрузку нужно хотя бы примерно понимать что происходит у тебя в коде...
примерный алгоритм действий:

- Снимаем все хуки в порядке релевантности
- Удаляем все указатели на объекты классов, если кодом не предусмотрен авто-уборщик( те же умные указатели)
- Убиваем работающие потоки
- Немного притормозим, что бы потоки успели завершить свою работу и выйти из ожидания(либо WaitForSingleObject)
- Если есть консоль, то уничтожаем ее
- Выгружаем модуль из памяти
- По хорошему бы обнулить "память", но и предыдущих действий достаточно в большинстве случаев
Код:
YouVmtHookObject->Unhook(); 
    delete YouObjectClass;
    TerminateThread(YouThreadName, 0);
    Sleep(500);
    FreeConsole(); //если есть консолька
    FreeLibraryAndExitThread(YouInstansDll, 0);
 
Сверху Снизу