Windows Vista: winlogon.exe & csrss.exe

Тема в разделе "WASM.WIN32", создана пользователем _DEN_, 4 июн 2007.

  1. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Залогинил 2-х пользователей на висте (через fast user switching). Получил 2 винлогона в соответствующих сессиях.
    после логофа одного из юзеров его винлогон умирает (точнее умирает по завершении user switching).

    Смотрел а task manager.
     
  2. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    а почему бы не написать сервис который бы детектил, не залогиниен ли пользователь ?
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А почему бы просто не хукнуть NtTerminateProcess, чтобы было нельзя прибить твой процесс7
     
  4. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    ntcdm

    И что это даст?
     
  5. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Great

    Попробую......
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    _DEN_
    лучше даже просто не давать открыть даже, хукнув NtOpenProcess, возвращая access denied при попытке открыть твой процесс с флагом PROCESS_TERMINATE
     
  7. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Great
    А в этом случае логофф завершится успешно?
     
  8. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.568
    Адрес:
    Russia
    green
    Если имеется ввиду ребут системы, или выключение - то ей вроде пофиг на это. Она все терминирует ) ИМХО
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А ты верни STATUS_SUCCESS чтобы никто ничего плохого не заподозрил ;)
     
  10. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Great
    Уже в который раз слышу про это. Интересно, те, кто применяет этот приём, помнят о том, что права можно менять в уже открытом описателе?
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    IceStudent
    Документированно, насколько я знаю, нельзя. А винда вряд ли будет открывать процесс ,потом копашиться в хендлах, а уж потом его килять. Так что тут, скорее всего, прокатит.
     
  12. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    можно отсюда поподробней?
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Great, dead_body
    DuplicateHandle и его производные (точнее, базовые).
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    IceStudent
    Ну так это же не изменение прав открытого описателя, а создание нового с другими правами. Хотя это тоже надо перехватывать тогда, чтобы не дать себя закрыть)
     
  15. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Great
    Но
    уже не использует OpenProcess, поэтому обходит эту проверку :)
    Так что, возвращаясь к исходному вопросу, - корректней перехватывать завершающие процесс функции, нежели открывающие его.
     
  16. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    это же просто не даст отлогофиться
    если вся фишка в том, чт нужен доступ к гуи, можно просто аттачить сервис к винстэйшен/десктоп. в мсдне что-то было про интерактивные сервисы
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А если сымитировать удачное завершение, но ничего не завершать, тогда даст
     
  18. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Great

    Как раз таки нет. Если вернуть STATUS_SUCCESS, то логофф не происходит.
    Можно вернуть STATUS_ACCESS_DENIED. В этом случае логофф произойдет, процесс не умрет, но в некоторый момент он потеряет связь с гуем(((


    Nouzui

    Хм....)