Вопрос по поводу Ring-0

Тема в разделе "WASM.WIN32", создана пользователем Guest, 29 сен 2006.

  1. Guest

    Guest Guest

    Публикаций:
    0
    Каким образом можно получить GUID текущего пользователя в Ring-0. Может где в реестре есть? Только чтоб без извращений типа перехвата ZwOpenKey с последующим отслеживанием ветки \\Registry\\User\\S********
     
  2. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    А какого пользователя считать текущим?
     
  3. Guest

    Guest Guest

    Публикаций:
    0
    При запуске системы грузится стандартный GUID типа {00000000-0000-0000-0000-000000000000} из ветки "HKEY_USERS\.DEFAULT\Identities" Last User ID. При входе под пользователем этот GUID меняется на GUID текущего пользователя и он где-то хранится. Вот мне требуется его получить. Вообщем-то он находится в "HKEY_CURRENT_USER\Identities" - но это илюзия. В Ring-0 реестр представлен иначе там нету HKEY_CURRENT_USER. Короче говоря HKEY_CURRENT_USER это HKEY_USERS\S-/* GUID */-Classes
     
  4. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    Нет никакого текущего пользователя. Пора привыкнуть, что одновременно может быть запущено множество терминальных сессий, множетсво процессов под разными пользователями и.т.д.
    Узнать ползователя запустившего определенный процесс можно по его токену, узнать текущего пользователя нельзя, потому что нет такого понятия в системе вобще.
     
  5. Guest

    Guest Guest

    Публикаций:
    0
    Ок. Понятно то есть наилучшим вариантом будет получить информацию о процессе explorer.exe при входе в систему. А что делать при смене пользователя, без выхода предыдущего? И при переключении между ними?
     
  6. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    Лучше всего будет отказаться от работы с веткой HKCU. Иначе проблем будет выше крыши. Потому что одновременно могут работать несколько пользователей в разных терминальных сессиях, даже без всякого переключения.