Установка или снятие Debug привелегии у текущего процессаDelphi , Программа и Интерфейс , Процессы и СервисыУстановка или снятие Debug привелегии у текущего процесса
Автор: Мироводин Дмитрий { **** UBPFD *********** by delphibase.endimus.com **** >> Установка/снятие Debug привелегии у текущего процесса Функция устанавливает/снимает отладочные привелегии у текущего процесса (можно выбрать и другой, изменив GetCurrentProcess на нужный Handle ). Актуально для совместного использования с ToolHelp - т.е. получения информации о процессах. Зависимости: Windows Автор: Мироводин Дмитрий (адаптация), mirovodin@mail.ru Copyright: 2000 Jeffrey Richter Дата: 20 октября 2003 г. ***************************************************** } function EnableDebugPrivilege(const Value: Boolean): Boolean; const SE_DEBUG_NAME = 'SeDebugPrivilege'; var hToken: THandle; tp: TOKEN_PRIVILEGES; d: DWORD; begin Result := False; if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken) then begin tp.PrivilegeCount := 1; LookupPrivilegeValue(nil, SE_DEBUG_NAME, tp.Privileges[0].Luid); if Value then tp.Privileges[0].Attributes := $00000002 else tp.Privileges[0].Attributes := $80000000; AdjustTokenPrivileges(hToken, False, tp, SizeOf(TOKEN_PRIVILEGES), nil, d); if GetLastError = ERROR_SUCCESS then begin Result := True; end; CloseHandle(hToken); end; end; Пример использования: // После этого можно смотреть информацию о таких системных // модулях как: winlogon.exe и servises.exe и д.р. EnableDebugPrivilege(True); // вкрючить EnableDebugPrivilege(False); // выключить Привет! Я перевёл текст на русский язык: Это фрагмент кода Delphi, который позволяет включать или отключать привилегию отладки для текущего процесса. Функция Вот разбивка кода:
Пример использования показывает, как включать и отключать привилегию отладки:
Код полезен для целей отладки, поскольку позволяет текущему процессу доступ к ресурсам системы, которые обычно ограничены. Однако важно отметить, что включение привилегии отладки может потенциально компрометировать безопасность системы. Автор оригинального кода - Jeffrey Richter, а адаптация была выполнена Дмитрием Мироводином в 2003 году. Copyright-нотация указывает, что оригинальный код датируется 2000 годом. Функция EnableDebugPrivilege позволяет установить или снять отладочные привелегии у текущего процесса, что позволяет получить информацию о системных модулях и процессах. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Процессы и Сервисы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |