Re: GetModuleFileNameEx

From
Alex Fedotov (2:5020/175.2)
To
Ilya Fromsky
Date
2002-04-24T21:58:04Z
Area
SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <me@alexfedotov.com>

Ilya Fromsky wrote:

 AF>> Можно: http://www.rsdn.ru/?qna/?baseserv/enumproc.xml

 IF> Статья хорошая, но там этого нет.
 IF> Нужно на _голой_ NT4 путь к исполняемому файлу чужого процесса.
 IF> Известен pid и имя процесса.

Да, виноват, пути там действительно нет. Придется PEB напрямую читать.

Во всех процессах PEB находится по адресу 0x7FFDF000, так что можно смело
использовать ReadProcessMemory, чтобы прочитать его содержимое в другом
процессе (для пущей верности можно воспользоваться ZwQueryInformationProcess,
чтобы получить этот адрес). В PEB есть указатель на структуру
PROCESS_PARAMETERS, а в ней хранится путь к исполняемому файлу в поле
ApplicationName.

Похожий пример можно найти на http://www.codepile.com/tric14.shtml, там
определяется командная строка процесса, которая лежит по соседству.

-- Alex Fedotov

--- ifmail v.2.15dev5
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)