Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];

Вниз

Как узнать какие DLL подгружены к процессу?   Найти похожие ветки 

 
Xemax   (2002-10-12 21:24) [0]

Как узнать какие DLL подгружены к процессу? Это надо сделать используя ТОЛЬКО библиотеки Ntdll.dll и Kernel32.dll. Еще раз обращу внимание на слово ТОЛЬКО - PSAPI.dll выходит за граници этого только!!!


 
Digitman   (2002-10-13 13:33) [1]

читай все относящееся к структуре PEB (process environmemt block)


 
Xemax   (2002-10-13 18:20) [2]

typedef struct _PEB {
BYTE Reserved1[2];
BYTE BeingDebugged;
BYTE Reserved2[229];
PVOID Reserved3[59];
ULONG SessionId;
} PEB, *PPEB;

И что мне потом с этой структурой делать?


 
Digitman   (2002-10-14 09:12) [3]

нет, это не PEB.
это жалкое подобие PEB

а что тебе не читается обычными (документированными) средствами-то ?

в цикле (с пом. ф-ции VirtualQuery[Ex]) пройдись по всем регионам ВАП процесса, отфильтруй только те, что имеют MEMORY_BASIC_INFORMATION.TYPE = MEM_IMAGE, базовый адрес каждого из полученных регионов трактуй как хэндл PE-модуля и вызывай для этого хэндла GetMofuleFileName().
И всех делов ! Фильтр по TYPE = MEM_IMAGE заведомо работает на всех NT-based платформах, так что - проще способа не найдешь


 
Толик   (2002-10-14 10:35) [4]

В StringList записываются имена подгруженных файлов и HICON ассоциированных с ними иконок

procedure EnumLoadingModule(const AStrings: TStrings);
var
MemoryInfo: TMemoryBasicInformation;
Region: longword;
pStr: pchar;
FileInfo: PSHFileInfo;
const
SizeFileInfo: longword = System.SizeOf(TSHFileInfo);
begin
Region := 0;
pStr := SysUtils.StrAlloc(MAX_PATH);
try
FileInfo := System.GetMemory(SizeFileInfo);
try
while Windows.VirtualQuery(pointer(Region), MemoryInfo, System.SizeOf(MemoryInfo)) =
System.SizeOf(MemoryInfo) do
with MemoryInfo do begin
if (State <> MEM_FREE) and (BaseAddress <> nil) and (AllocationBase = BaseAddress) then begin
if GetModuleFileName(longword(BaseAddress), pStr, MAX_PATH) > 0 then begin
ShellAPI.SHGetFileInfo(pStr, 0, FileInfo^, SizeFileInfo,
SHGFI_ICON or SHGFI_SMALLICON);
AStrings.AddObject(pStr, TObject(FileInfo^.hIcon));
end;//if
end;//if
Region := Region + RegionSize;
end;//with
finally
System.FreeMemory(FileInfo);
end;//try
finally
SysUtils.StrDispose(pStr);
end;//try
end;



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

Форум: "WinAPI";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-83004
Nemesis
2002-11-07 13:17
2002.11.25
Любителям смотреть видео на РС


1-82721
Сатир
2002-11-14 13:22
2002.11.25
Объясните на пальцах


1-82774
GAlexis
2002-11-13 13:57
2002.11.25
экспорт в MS Word


1-82818
lensky
2002-11-08 07:26
2002.11.25
Listview eto problema delphi ili windows?


14-83005
Красная Майка
2002-10-18 13:57
2002.11.25
Встреча мастаков в Московии.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский