Вызов Dll

  • Автор темы Anatoly1987
  • Дата начала
A

Anatoly1987

#1
Привет Форумчане!

Ребята проблема такая. мне надо определить кто вызвал DLL.
т.е. например есть Программа А вызывает DLL
Программа Б вызывает DLL

как в этой DLL определить кто её вызвал, Программа А или Программа Б или еще кто-нибудь. Просто в зависимости от этого будет зависеть реакция.

Но наверное моя ситуация посложнее поскольку эту DLL вызывают драйверы работающие в нулевом кольце.
Что скажете по моей проблеме?
 
K

KibeRShuriK

#2
Прописываться в функцию LoadLibrary, в библиотеке kernel32.dll, и еще нужно будет отключить SFC(защита файлов Windows), либо одновременно обработать еще файл из dllcache. Там и можно будет прилепить обработчик, который сделает что нужно, при обнаружении в подстановке параметра-пути к твоей DLL.
 
M

Maxx

#3
про вызов DLL из драйвера ядра ничего не скажу
но при загрузке DLL в адресное пространство процесса система вызывает функцию DllMain библиотеки с параметром DLL_PROCESS_ATTACH
и здесь можно определить, какой процесс загружает DLL
 
B
#4
Просто в зависимости от этого будет зависеть реакция.
Ну если для этого, то определи в программах А и Б регламент вызыва своей библиотеки (пропиши в библиотеке функцию в которую эти программы передаю свои "позывные") :)