Решено Выгрузка инжекнутой DLL

Тема в разделе "Вопросы", создана пользователем qwintty, 1 июл 2018.

Статус темы:
Закрыта.
  1. qwintty

    qwintty Активный участник

    Регистрация:
    14 июл 2017
    Сообщения:
    25
    Симпатии:
    1
    Собсна каким образом можно реализовать выгрузку инжектнутой тобой DLL .Естественно dll (сам писал)моя.Подскажите пожалуйста.
     
  2. CleanLegend

    Всефорумный модератор

    Регистрация:
    28 мар 2013
    Сообщения:
    259
    Симпатии:
    306
    С помощью функции FreeLibraryAndExitThread, перед её вызовом нужно снять хуки и тд
     
  3. NearBy

    NearBy Активный участник

    Регистрация:
    3 июл 2018
    Сообщения:
    28
    Симпатии:
    6
    void StartThread(const HINSTANCE& hinstDLL) {
    //...манипуляции с приложением..
        while (условие_какое-то)
        {
            Sleep(1);
        }
    
        FreeLibraryAndExitThread(hinstDLL, 0);
    }
    
    BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
    {
    
        switch (fdwReason)
        {
        case DLL_PROCESS_ATTACH://Вызывается первым
            StartThread(hinstDLL);
            return 1;
        case DLL_PROCESS_DETACH://вызывается после освобождения библиотеки
            break;
        case DLL_THREAD_ATTACH://вызывается при создании потока
            break;
        case DLL_THREAD_DETACH://вызывается после разрушения потока
            break;
        }
    
        return TRUE;
    }

    Как пример.Сам использую подобное.
     
    УченикДимаса и Revalto нравится это.
Статус темы:
Закрыта.