Как выгрузить свою dll, чтоб потом удалить?

Тема в разделе "WASM.WIN32", создана пользователем Flasher, 21 ноя 2007.

  1. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    В обычной ситуации можно было юзать FreeLibraryAndExitThread.
    Но при DLL_PROCESS_ATTACH я удаляю название своей dll'ки из списка модулей вот этим нехитрым кодом:
    Код (Text):
    1.                 assume fs:nothing
    2.                 mov eax,fs:30h
    3.                 mov eax,[eax+0Ch]
    4.                 mov ecx,hInstDLL
    5.                 add eax,0Ch
    6.              @@:
    7.                 mov eax,[eax]
    8.                 cmp ecx,[eax+18h]
    9.                 jnz @B
    10.                 mov ecx,[eax]
    11.                 mov ebx,[eax+4]
    12.                 mov [ebx],ecx
    13.                 mov ecx,[eax+4]
    14.                 mov ebx,[eax]
    15.                 mov [ebx+4],ecx
    16.                 lea eax,[eax+8]
    17.                 mov ecx,[eax]
    18.                 mov ebx,[eax+4]
    19.                 mov [ebx],ecx
    20.                 mov ecx,[eax+4]
    21.                 mov ebx,[eax]
    22.                 mov [ebx+4],ecx
    А после этого FreeLibraryAndExitThread уже не сработывает :dntknw:
    А задача следующая, выгрузить и удалить dll не трогая при этом сам процесс.
    Что делать?
    Спасибо.
     
  2. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Flasher
    Может обратно добавить длл?