Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Отслеживание подключения dllки к процессу


Автор: Shens 28.4.2008, 17:15
Я попробую описать задачу, так как на интуитивном уровне я вижу много решений - не знаю точно что мне искать.. материала на эту тему много и разбираться во всём довольно долго.

Имеется некий процесс допустим client.exe . Исходиков его нету, поэтому через ( например ) stud_pe я "пришиваю" к нему свою dllку которая успешно функционирует. Но нужно отловить вот такую ситуацию: во время работы client.exe, видимо прямо к процессу, подключается(если так можно выразиться) другая программа, а точнее подключает свою дллку. Как можно узнать об этом? Можно ли повесить хук не имея исходников? Отследить память? Или просто колличество dll на данный момент у процесса? Подскажите идеи или хотя бы в каком направлении искать..

Автор: EnergoHokum 8.5.2008, 08:04
Первое, что приходит в голову -- перехват функций API. Но это, мягко говоря, плохопереносимое решение, при установке ServicePack-а или ещё каких-нить обновлений запросто может перестать работать. Кроме того, это сильно не понравится антивирусам. Настолько сильно, что они прибьют перехватчика.

Автор: W4FhLF 8.5.2008, 15:50
Цитата(Shens @  28.4.2008,  17:15 Найти цитируемый пост)
 Но нужно отловить вот такую ситуацию: во время работы client.exe, видимо прямо к процессу, подключается(если так можно выразиться) другая программа, а точнее подключает свою дллку. Как можно узнать об этом?


На момент загрузки сторонник библиотек твоя уже в адресном пространстве процесса? Если да, то перехватывай LdrLoadLibrary из ntdll.dll (в качестве движка для перехвата советую Detours).

Цитата(EnergoHokum @  8.5.2008,  08:04 Найти цитируемый пост)
Но это, мягко говоря, плохопереносимое решение, при установке ServicePack-а или ещё каких-нить обновлений запросто может перестать работать.


На всей линейке NT нет нужды привязываться к каким-то особенностям конкретной версии ОС. Механизм универсален.

Цитата(EnergoHokum @  8.5.2008,  08:04 Найти цитируемый пост)
Кроме того, это сильно не понравится антивирусам. Настолько сильно, что они прибьют перехватчика.


Фтопку анитивирус, который не даёт мне менять память в собственном процессе. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)