![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отловить момент приаттачивания своей dll к процессу [D7, 95/98, XP]
Viktor © (2008-02-05 11:28:00)Здравствуйте! Подскажите как отловить попытку загрузки моей dll в АП процесса и при определенных условиях запретить Windows это делать?
Заранее благодарен!
Игорь Шевченко (2008-02-05 14:37:00) [21]Сергей М. © (05.02.08 14:19) [8]
Собственно, она выгрузится, если DllMain завершится неудачей
Сергей М. (2008-02-05 14:19:00) [22]
> хам (05.02.08 14:18) [7]
А по барабану.
На момент вызова этого кода модуль ужезагружен.
хам (2008-02-05 14:18:00) [23]> [4] Сергей М. © (05.02.08 11:46)
> Здесь она уже загружена
Собственно, если я не путаю, этот код будет вызван до возвращения управления подключающей функции.
Сергей М. (2008-02-05 14:18:00) [24]Удалено модератором
Thrasher (2008-02-05 14:17:00) [25]Почему бы не использовать динамическую линковку?
Когда надо
LoadLibrary;
GetProcAddr;
и т.д.
Сергей М. (2008-02-05 11:46:00) [26]
> // здесь?
Здесь она уже загружена
Slym (2008-02-05 11:43:00) [27]
library ApiHook;
{$WARN SYMBOL_PLATFORM OFF}
uses windows;
procedure DllMain(fdwReason:DWORD);
begin
case fdwReason of
DLL_PROCESS_DETACH:
begin
UninterceptFunctions();
end;
DLL_PROCESS_ATTACH:
begin
InterceptFunctions();
end;
DLL_THREAD_ATTACH: ;
DLL_THREAD_DETACH: ;
end;
end;
begin
DllProc:=@DllMain;
DllMain(DLL_PROCESS_ATTACH);
end.
хам (2008-02-05 11:43:00) [28]> Подскажите как отловить попытку загрузки моей dll в АП процесса
Begin
// здесь?
end.
Сергей М. (2008-02-05 11:40:00) [29]Считай что никак.