Вниз
Скачать: CL | DM;

список dll   Найти похожие ветки 

← →
kernel ©   (2007-12-10 20:09) [0]

Доброго времени суток, уважаемые. Собсно, как можно получить список загруженных в память dll?


← →
Anatoly Podgoretsky ©   (2007-12-10 20:23) [1]

> kernel  (10.12.2007 20:09:00)  [0]

В какую память?


← →
Вредитель ©   (2007-12-10 20:34) [2]

В ОЗУ. Он имеет в виду работающие в данный момент.


← →
palva ©   (2007-12-10 21:11) [3]

Перечислить все процессы и у каждого процесса перечислить все исполнительные модули, которые этим процессом загружены. Там будут exe и dll. Наверняка это будет неполный список. Будут еще dll, которые используются системой.


← →
Leonid Troyanovsky ©   (2007-12-10 22:10) [4]


> palva ©   (10.12.07 21:11) [3]

>  Там будут exe и dll. Наверняка это будет неполный список.
>  Будут еще dll, которые используются системой.

Почему ж неполный.
Если они используются, то и загружены.

--
Regards, LVT.


← →
Riply ©   (2007-12-11 07:46) [5]

> [4] Leonid Troyanovsky ©   (10.12.07 22:10)
> Почему ж неполный.
> Если они используются, то и загружены.

Значит я плохо умею "у каждого процесса перечислять все исполнительные модули".
Потому, что если посмотреть список, полученный
при помощи NtQuerySystemInformation(SystemModuleInformation,...,
то в нем (акромя всяких sys) можно найти и .dll модули,
которые отсутствуют в первом списке.  :)
Например C:\WINDOWS\system32\hal.dll


← →
Rouse_ ©   (2007-12-11 09:21) [6]


> Например C:\WINDOWS\system32\hal.dll

Посмотри подсистему образа в заголовке :)


← →
Riply ©   (2007-12-11 12:20) [7]

> [6] Rouse_ ©   (11.12.07 09:21)
> Посмотри подсистему образа в заголовке :)

Спасибо. Попробую :)


← →
kernel ©   (2007-12-11 17:07) [8]

А вообще с помощью NtQuerySystemInformation реально получить список загруженных модулей, кроме используемых системой? :)


← →
slow!alfamoon!com   (2007-12-11 19:58) [9]

Можно из PEB прочитать, код я тут постил


← →
kernel ©   (2007-12-11 20:08) [10]


> slow!alfamoon!com   (11.12.07 19:58) [9]
> Можно из PEB прочитать, код я тут постил


А это как? Если не сложно, дайте ссылочку на код, plz.


← →
slow!alfamoon!com   (2007-12-13 12:27) [11]

Поиском чего-то не нашел.. Исходники дома. Вечером...


← →
Rouse_ ©   (2007-12-13 13:55) [12]


> А это как?

NtQueryInformationProcess вернет тебе PROCESS_BASIC_INFORMATION у которого вторым параметром указатель на PEB
http://msdn2.microsoft.com/en-us/library/aa813706.aspx
В нем есть указатель на PEB_LDR_DATA
http://msdn2.microsoft.com/en-us/library/aa813708.aspx
В ней тебя будет интересовать двусвязный список InMemoryOrderModuleList за каждым из элементов которого расположенна структура LDR_DATA_TABLE_ENTRY из которой ты вытащишь FullDllName :)
За каждым из ллементов это значит по смещению 8 от начала элемента :)


← →
slow!alfamoon!com   (2007-12-13 16:32) [13]

можно просто вызвать NtCurrentPeb или прочитать из памяти - тк адрес захардкоден (хотя в висте не проверял)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
15-1217308956
Наиль
2008-07-29 09:22
2008.10.12
За программы с открытым исходным кодом дают не плохие деньги


15-1219221670
начинающий
2008-08-20 12:41
2008.10.12
Лазерник не печатает


15-1219647892
rx275d7_jedi
2008-08-25 11:04
2008.10.12
Написать программу


15-1219088046
Тимохов
2008-08-18 23:34
2008.10.12
Helpdesk и работа с пользователями


2-1220270981
aaaaa
2008-09-01 16:09
2008.10.12
Тригер в sql server




   Наверх