Путь до файла соответствующего процессу

Тема в разделе "WASM.NT.KERNEL", создана пользователем Rodin, 13 июн 2007.

  1. Rodin

    Rodin New Member

    Публикаций:
    0
    Регистрация:
    30 апр 2007
    Сообщения:
    125
    Как получить из хэндла процесса полный путь до файла соответсвующего данному процессу
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    поиск по форуму
     
  3. genesis

    genesis New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    43
    Из peb -
    peb->Ldr->InLoadOrderModuleList - список модулей, первый в нем обычно .exe
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    такая тема уже была.
    PsGetCurrentProcess()->Peb->Ldr->InLoadOrderModuleList
     
  5. brat315

    brat315 New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    21
    Адрес:
    Russia
    Запусти диспетчер задач зайди во вкладку процессы->вид включи опцию отображать PID-идентификатор процесса,а в колонке имя образа название твоего файла.Ты не написал как ты хочешь получить имя файла програмно или средствами ОС.
     
  6. genesis

    genesis New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    43
    мда, но например, если это нужно сделать сразу после вызова ZwCreateProcess(Ex), (если она перехвачена то бишь) то Peb->Ldr нулевой. В этом случае можно воспользоваться SectionHandle,

    А вот как получить путь из CreateProcessNotifyProc? в этот момент Peb->Ldr все еще нулевой, а как по eProcess добраться до SectionHandle?
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    genesis
    Читай KmdTut Four-F, глава 14
     
  8. lev

    lev New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2006
    Сообщения:
    16
    n0name я, так думаю, что не всегда нужно следовать догмам. Возможно надо искать какие-то альтернативные решения.
    Например: глава 15, от Four-F, навела меня на мысль, что так кейлогер или снифер клавиатуры писать не следует.
    Гораздо проще переопределить "MajorFunction[IRP_MJ_READ]". Получить "IRP" далее, переопределить "CompletionRoutine" в нем, затем пометить пакет определенным образом и отправить пакет драйверу к которому он следовал. При завершении жизненного цикла пакета, будет вызвотна "CompletionRoutine" моего драйвера. Далее, в "CompletionRoutine" моего драйвера востанавливаем "IRP" пакет (так как он выглядел до изменений), забираем из него коды нажатых клавишь и отправляем пакет далее. Очень странно, но такой драйвер даже сниферит "USB" клавиатуры в отличии от главы 15.
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    причём здесь 15 глава? Способов написания логгеров куча.
    а вот получения пути процесса без использования Peb'a не сказал бы что так уж много, точнее я знаю один, который и описан в 14 главе. Если можешь предложить другой, такой же простой, то с удовольствием почитаю. А насчёт догм, поговорку про велосипед напомнить?
     
  10. lev

    lev New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2006
    Сообщения:
    16
    n0name может я ошибаюсь, но я считаю, что этот форум и существует для поиска новых решений.
    Если бы у меня было готовое решение, я опубликовал бы его сразу.
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    а зачем искать новые решения, если и старые вполне работоспособны?
    может еще написать работу с NTFS вручную, ибо NtCreateFile старо и неинтересно?
     
  12. genesis

    genesis New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    43
    !!! спасиба, чакры резко открылись, карма почти полностью востановилась. :)
     
  13. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    ZwQueryInformationProcess
     
  14. pushick

    pushick New Member

    Публикаций:
    0
    Регистрация:
    22 мар 2007
    Сообщения:
    95
    ZwQueryInformationProcess приведет к тому же самому peb'у
    а вообще правильней получать имена через секцию.