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)