Структура TOKEN в ядре


0

Я хотел бы знать, как WinDbg извлекает всю информацию о пользователе, группе, привилегиях о процессе из token, когда задана команда !token 0xaddress, поэтому я могу реализовать ее в своем коде драйвера.

Пример Выход !token 0xaddress команды user_infor_output

В соответствии с this маркера сайта имеет EX_FAST_REF структуру, которая имеет такое определение, как это:

typedef struct EX_FAST_REF { 
     union { 
       PVOID Object; 
       ULONG RefCnt : 3; 
       ULONG Value; 
     }; 
}EX_FAST_REF, *PEX_FAST_REF 

Object поле указывает на адрес маркера, то Value поле удерживает кулак 4 байта от адреса токена. Я не мог найти информацию, которая мне нужна из этих полей, но когда я исследую адрес маркера немного, я начинаю видеть строки, такие как uid. Какова структура структуры windbg для получения всей этой информации? (Оба отладчика и debuggee имеют 32-битную архитектуру).

uid_from_address

1

Этот маркер вы использовали, ссылка, это не структура Токен вы ищете. Это - https://www.nirsoft.net/kernel_struct/vista/TOKEN.html

  0

Я отмечаю это как принятый ответ. Поскольку он ответил на мой вопрос. Но когда я пытаюсь разместить все необходимые структуры с помощью конструктора структуры TOKEN, вы получите синтаксическую ошибку (код 2061). Есть ли библиотека, где все эти структуры предопределены? 21 ноя. 172017-11-21 16:39:13

  0

Определение структур на основе ОС. Он отличается от Win7 до Win10 до x86 до x64 ... К сожалению, ** moonsols **, который был предоставлен Microsoft, больше не доступен. Там вы можете найти точную структуру, основанную на версии. 22 ноя. 172017-11-22 09:15:23