|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
список объектов ядра Windows27.11.2013, 16:00. Показов 2375. Ответов 17
Метки нет (Все метки)
Господа, хотел задать вам вопрос, с надеждой получить на него какой-нибудь исчерпывающий ответ или совет или что угодно другое, лишь бы помогло мне в моей нелегкой для задаче.
вообщем ситуация такова, что у меня появилось задание, в рамках которого надо получить список объектов ядра Винды и показать права доступа к ним(если кому-то может интересно или важно, вот как звучит задание из первых уст "Написать программу на языке Си/Си++, выполняющую получение списка объектов ядра Windows и отображение прав доступа (списков контроля доступа) к ним.") так вот собственно дело в том, что, исходя из моих наблюдений, задачи такого рода делаются с помощью функций NtQuerySystemInformation, NtQueryDirectoryObject и NtOpenDirectoryObject входящих в состав NTDLL.DLL. Порылся и примерно понял, как этими функциями пользоваться, но общей картины все равно нет до сих пор, вероятнее всего потому что мне раньше с WinAPI никогда не приходилось сталкиваться. вообщем буду очень надеяться на вашу помощь, ребята.
0
|
|
| 27.11.2013, 16:00 | |
|
Ответы с готовыми решениями:
17
Список объектов ядра Windows Список объектов ядра Синхронизация на базе объектов ядра |
|
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
|
|||||||||||
| 27.11.2013, 16:21 | |||||||||||
|
из r3 полноценной картины получить не получится , но кое что можно вытянуть тут есть кое что по теме.
Добавлено через 9 минут вот кодец , спионеренный с wasm.ru не проверял но может подойти. rights.h Кликните здесь для просмотра всего текста
rights.c Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
| 27.11.2013, 16:39 [ТС] | |
|
большое спасибо)
код я видел, но понимаю его процентов на 30) был бы очень благодарен, если бы нашелся человек, который сможет пообильнее откомментить то, что тут написано, тогда думаю сложится картина.
0
|
|
|
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
|
|
| 27.11.2013, 17:05 | |
|
этот кодец только с виду такой страшный ) , для лучшего понимания погоняйте его под отладчиком и тогда будет видно что куда и на каком этапе происходит.
0
|
|
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
||
| 27.11.2013, 17:28 [ТС] | ||
|
ну это мнение человека, который имел дело с WinAPI, а для меня этот код почти, как темный лес) там что для меня лучше все-таки, чтобы кто-то откомментил) но гонять я его разумеется буду, куда денусь)
0
|
||
|
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
|
|
| 27.11.2013, 18:01 | |
|
я бы посоветовал почитать вначале литературу ,к примеру Внутренне устройство Windows Русиновича-Соломона
Недокументированные возможности Windows 2000 Шрайбер мануальчик староват но актуальности не потерял, ну и конечно Создание эффективных WIN32-приложений с учётом специфики 64-разрядной версии Windows Джеффри РИХТЕР документированные вещи надо брать в первую очередь у разработчиков то бишь заглянуть в MSDN путь конечно не быстрый . зато проверенный) .
0
|
|
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
| 27.11.2013, 18:25 [ТС] | |
|
ssXXss, Рихтера я уже себе скачал, буду разбираться
я бы собственно так и сделал, как вы сказали, вот только у меня всего неделя на выполнение, вот в чем загвоздка( поэтому, как вы понимаете, мне гораздо проще попытаться просто найти и как следует вникнуть в работу какого-нибудь уже имеющегося кода по такого рода заданию, потому что в будущем с WinAPI мне, вероятнее всего. больше не придется сталкиваться)
0
|
|
|
Ушел с форума
|
||
| 27.11.2013, 22:12 | ||
|
читать только именованные объекты ядра, а во-вторых, значительная часть этой информации недокументированна и может меняться между версиями Windows. Вот здесь я кое-что описывал по теме (капля в море): Модуль ядра для windows
1
|
||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
| 28.11.2013, 09:43 [ТС] | |
|
Убежденный, да, я читал ваш топик, там все очень хорошо описано)
из-за вас как раз и создалось хоть какое впечатление о то, что и как Но, к сожалению, полной картины, или хотя бы достаточной для написания какого-то кода, у меня не сложилось
0
|
|
|
Ушел с форума
|
||
| 29.11.2013, 01:24 | ||
|
В каждой такой папке будут объекты ядра одного или нескольких определенных типов. Чтобы лучше осознать эту картину, скачайте и запустите утилиту WinObj из Sysinternals. Вам нужно с помощью NtOpenDirectoryObject открыть корневую папку этой структуры, а затем выполнить рекурсивное перечисление объектов и папок, которые в ней находятся, для этого существует другая функция - NtQueryDirectoryObject. Каждый найденный элемент будет или объектом ядра или очередной папкой, на которую следует распостранить перечисление. Win32 API здесь не помощник, здесь придется использовать в основном Nt-функции и внутренние структуры, объявленные в заголовке Winternl.h. Также я бы посоветовал раскопать известные исходники Windows (NT4/W2K/WRK) и за такими вопросами заглядывать туда.
0
|
||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
||||||
| 29.11.2013, 15:20 [ТС] | ||||||
|
Убежденный, спасибо, буду пробовать
я тут еще подумал, что можно можно в цикле просто перебрать, через GetKernelObjectSecurity. этот вариант вообще нормальный, или лучше не пытаться? Добавлено через 12 минут вроде такого
0
|
||||||
|
Ушел с форума
|
||
| 29.11.2013, 18:02 | ||
|
Перебирать можно о-очень долго...
1
|
||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
| 29.11.2013, 18:32 [ТС] | |
|
0
|
|
|
Ушел с форума
|
||
| 29.11.2013, 19:07 | ||
|
об объектах, открытых в контексте текущего процесса, не более.
1
|
||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
|
| 02.12.2013, 01:38 [ТС] | |
|
Убежденный, а какую именно информацию?
не ту ли, которая мне нужна?) и, если нет, то нет ли способа, как-нибудь по похожему принципу вывести то, что по заданию нужно мне?
0
|
|
|
Ушел с форума
|
||||
| 02.12.2013, 09:18 | ||||
|
только об объектах ядра, которые открыты в контексте текущего процесса.
0
|
||||
|
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
|
||
| 02.12.2013, 21:29 [ТС] | ||
|
Убежденный, был бы очень признателен, если бы вы привели пример кода, написанного исходя из вашего способа.
просто очень хочется разобраться, что да как, а на словах я всю жизнь как-то туго понимал. на конкретных примерах всегда проще заранее благодарен! Добавлено через 7 часов 43 минуты мог бы кто-нибудь дать список библиотек, необходимых, чтобы это запустилось? буду очень признателен
0
|
||
| 02.12.2013, 21:29 | |
|
Помогаю со студенческими работами здесь
18
Модуль ядра для windows Синхронизация потоков без объектов ядра - возможно ли? Список доступных параметров ядра Список модулей ядра для работы VMware
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|