Как отследить "вход пользователя в систему?

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

  1. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Сабж, какое есть уведомление, когда пользователь логинится в систему (загружает свой рабочий стол?)
     
  2. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Вариант - поставить нотификатор на создание процесса и мониторить появления чего-то типа c:\windows\explorer.exe
     
  3. Person

    Person Hugh Person

    Публикаций:
    0
    Регистрация:
    29 июн 2011
    Сообщения:
    23
    Было что-то вроде WM_USER_LOGON
     
  4. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Мне бы в ядре..
     
  5. Person

    Person Hugh Person

    Публикаций:
    0
    Регистрация:
    29 июн 2011
    Сообщения:
    23
    Старт процесса тогда. Но explorer'ов может быть куча если стоит "launch folder windows in a separate process". Можно проверить по \sessions в принципе.
     
  6. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    winlogon?
     
  7. Person

    Person Hugh Person

    Публикаций:
    0
    Регистрация:
    29 июн 2011
    Сообщения:
    23
    Winlogon один
     
  8. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Код (Text):
    1. Можно проверить по \sessions в принципе.
    Это про что?
     
  9. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    по эксплореру лучше не делать, когда малвар какойто на компе, частенько падает он. По этому появляться он может постоянно. Конечно первый раз ты сможешь норм отследить. НО если многопользовательская система, то тут уже надо другой метод искать. Как вариант - следить за созданием объектов с определенными SID'ами, отличными от системных.
     
  10. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    http://msdn.microsoft.com/en-us/library/aa379402(v=vs.85).aspx
    http://www.codeproject.com/KB/system/winlogon_notification_package.aspx
     
  11. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    2 Ezrah
    1) это пашет только в юзермоде
    2) это уже не пашет начиная с висты.
     
  12. ant_man

    ant_man New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2004
    Сообщения:
    23
    по созданию csrss.exe можно смотреть
     
  13. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    2 ant_man csrss запускается на стадии загрузки системы от SYSTEM (еще до загрузки Winlogon) так что тем самым ты сможешь поймать только факт загрузки компа (что абсолютно бесполезно)
     
  14. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    может userinit.exe ловить?
     
  15. Person

    Person Hugh Person

    Публикаций:
    0
    Регистрация:
    29 июн 2011
    Сообщения:
    23
    \sessions это директория объектов, там сессии. Можно посчитать.
     
  16. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    krol
    Как вариант:
    1) при станте дрова перечислить все процессы и составить список всех SessionId.
    2) поставить нотификатор на запуск процесса
    3) в нотификаторе получать SessionId (есть для этого спец. функа) и искать его в уже имеющемся массиве