Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Дык вроде есть 10.01.03 19:07 Число просмотров: 1223
Автор: amirul <Serge> Статус: The Elderman
|
> я по совету amirul'а ReactOS заюзал - исключительно рульная > вещь! Но там этого нет. Не умаляя заслуг cb, но как говорили классики: "Платон мне друг..."
Для чистоты эксперимента я начал искать с нуля, как я бы искал, если б даже не знал как какие функции называются.
Запустил в FAR-е поиск по поддиректориям ntoskrnl-а (почему-то я не сомневался, что искать надо именно там :-))) ) файлов со строкой "ACCESS_TOKEN" внутри. Нашлось не так много файлов и вообщем-то я проверил все обнаруженные. Наибольший интерес представляют файлы create.c и process.c из каталога ntoskrnl\ps\
PsReferenceEffectiveToken - очень хорошая демонстрация того как из executive объектов (ethread и eprocess) вытаскивать токены (глобальный и имперсонированный)
NtOpenProcessToken (NtOpenThreadToken) - видно, что хоть в функцию и передается хэндл, из него сразу вытаскивается executive объект, на который он ссылается (ObReferenceObjectByHandle). Так что если объект уже есть - попытка сделать на него хендл - лишняя работа. Далее по ходу исполнения смотрим какие функции юзаются.
Ну а ZwQueryInformationToken там тоже есть, но о ней я узнал задолго до реактоса, так что искать не пришлось.
Можно сделать кучу других выводов, но в нашем случае из всех этих функций осталось только найти, какие экпортируются из кернела - и все. Можно конечно и напрямую со структурами работать, но это может привести к проблемам при смене сервис пака и т.д. Хотя скорее всего не приведет, так как все изменения в эти самые структуры вносятся в конец, а уже готовая часть остается без изменений.
Не сочтите за наезд :-)))) Это действительно не наезд (а всего лишь мерянье пузами :-))) )
ЗЫ: Реактос действительно недоделан во многих местах - сам все никак не дождусь человеческой реализации lsass - интересна структура SAM (а самому реверсить - ума нема :-)) ), но даже по uniplemented функциям можно многое сказать по типам и названиям аргументов.
|
|
|