Запуск сессии

Тема в разделе "WASM.WIN32", создана пользователем asgard, 11 июл 2005.

  1. asgard

    asgard New Member

    Публикаций:
    0
    Регистрация:
    12 июн 2005
    Сообщения:
    7
    Адрес:
    St. Pitersburg, Russia
    Доброго времени суток всем.



    У меня такая проблемма нужно - перехватить создание определенной сессии и подменить некоторые ресурсы у всех процессов в этой сессии. Причем запускать эту сессию должен я сам и не интерактивно. Дело происходит под ХР.

    По сути smss получает запрос на создание и вызывает NtSetSystemInformation c SystemCreateSession это перехватить довольно просто, но как скомандовать smss создать сессию я что-то не нашел и как понять в перехватчике, что это именно нужная сессия я пока не догоняю. Есть вариант создавать сесcию самому без участия smss и запускать в ней подсистему WIN32. Или это бред?

    Буду рад любой информации по данному вопросу.
     
  2. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Загрузить в пространство smss dll-ку которая выполнит SystemCreateSession.
     
  3. asgard

    asgard New Member

    Публикаций:
    0
    Регистрация:
    12 июн 2005
    Сообщения:
    7
    Адрес:
    St. Pitersburg, Russia
    О спасибо.

    Да как вариант надо попробовать. Вообще то я нарыл флаги в EPROCESS которые позволяют вызывать SystemCreateSession из обычного приложения, но это приводит к мертвому завису системы через 1 секунду после успешного выполнения. Я подозреваю что при инициализации сессии затираются какие то данные существующей сессии и делать это надо из native process не принадлежащего сессии или можно действительно попробовать вариант с DLL. Я пока не очень понимаю как просходит работа с виртуальной памятью в сессиях, может здесь есть гуру который растолкует, что к чему или ткнет носом где почитать.