Созадать новый процесс из драйвера

Тема в разделе "WASM.NT.KERNEL", создана пользователем elimli, 6 мар 2007.

  1. elimli

    elimli New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2007
    Сообщения:
    20
    Скажите, можно ли из драйвара запустить некий процесс, т.е., скажем, по наступлению какого нибудь условия, запустить notepad.exe? Все решения с модулем в user space который связан с драйвером и делает CreateProject к сожалению не подходят. Может есть ли какой обходной маневр?
     
  2. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Можно, но сложно.
    NtCreateProcess только инициализирует процесс. Там еще по моему геморрой с потоками будет...
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Можно, есть статьи. Даже здесь :)
     
  4. Denwer

    Denwer New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2006
    Сообщения:
    104
    Может проще взять исходники CreateProcessW и по ним написать нужный код? Там проде все написано понятливо. Действительно NtCreateProcess делает очень мало из нужного. Можно сказать создает адрессное пространство процесса и все.
     
  5. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    если уж на то пошло, то намного проще будет инжектнуть в какой-нибуть процесс шеллкод, который будет запускать процесс (поиск по форуму, вроде было уже)
     
  6. elimli

    elimli New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2007
    Сообщения:
    20
    Cr4sh
    проще будет инжектнуть в какой-нибуть процесс шеллкод
    В смысле? Из драйвера сделать инжект в какой-нить процесс? А как?
     
  7. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    а если я хочу создать самый-самый первый процесс? )))
     
  8. elimli

    elimli New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2007
    Сообщения:
    20
    Nouzui
    Нет, самый первый меня не интересует. Я хочу сделать "watchdog". Если основная программа была закрыта, чтоб драйвер запускал ее вновь.
     
  9. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    все равно хочется узнать, как сделать это, не пользуясь юзермодом, не реверсить же на самом деле CreateProcessW oO (исходников нету (( )
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    "Как создать процесс.htm" где-то выкладывалась со сборником статей с того сайта.
    "Запуск процесса из режима ядра [Cardinal]"
     
  11. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    а.. *пошел искать*
     
  12. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    elimli
    Поиск по форуму с ключ. ником Ms-Rem, он если не ошибаюсь приводил уже куски кода
     
  13. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    ещё в справочнике Гарри Неббета был сабжевый код
     
  14. elimli

    elimli New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2007
    Сообщения:
    20
    n0name
    Статья Cardinal'а выглядит наиболее релевантной, но почему-то приведенный код не работает (там в аттаче есть уже скомпилированный драйвер). Завтра буду разбиратся.

    Хотелось бы найти готовое к использованию решение, потому что время поджимает :dntknw:
     
  15. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    Гари Неббет , страница 191.
     
  16. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    исходники (один файлик этот) могу скинуть
     
  17. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Great
    Кидай. Мне тоже нужно.
     
  18. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    кинь..

    а вообще ntdll не сможешь куда-нить залить?
     
  19. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Залил.
    В архиве два файла - из Windows NT4 и из Windows 2000 (с именами win2k_process.c и nt4_process.c).
    Из сорсов библиотеки kernel32.dll, файл process.c

    http://gr8.cih.ms/uploads/createprocess.rar (49163 байт)

    Кому надо могу полные сорсы kernel32 дать
     
  20. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    Интересует, залей плз куда нибудь или на мыло скинь.