![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Время задавать ОЧЕНЬ СЛОЖНЫЕ ВОПРОСЫ !!!! [D6, Win2k, WinXP]
Xemax © (2002-11-02 15:31:00)У меня тут есть 2 вопросика на которые я немогу найти ответа.
1) Как во время работы процесса изменить привелегии этого процесса, т.е. например имеет процесс привелегии SYSTEM можно ли дать ему привелегии Administrators (если пароль админа известен)) и наоборот из Administrators в SYSTEM.
2) Как отобрать у процесса smss.exe и System привелегию (например SeDebugPrivilege)
Игорь Шевченко (2002-11-06 10:09:00) [1]Xemax © (05.11.02 19:22)
1) Менять маркер доступа (Administrators, ...) можно по ImpersonateXXXX.. SetTokenInformation (RTFM Security)
Менять привилегии, соответственно по AdjustTokenPriviledge (если они есть у данной учетной записи).
> 2) Как отобрать у процесса smss.exe и System привелегию
> (например SeDebugPrivilege)
А никак!
Xemax (2002-11-05 19:22:00) [2]ОЧЕНЬ СЛОЖНЫЙ ВОПРОС так и остался сложным :-((
Subfire (2002-11-05 10:26:00) [3]ZZ
Ну ето было бы классно разобраться...Однако основывать свою программу на ошибках ОС это тока для вирей подходит =)) которые как известно "вообщем-то ничего полезного и не делают, потому и бесплатные" =)
Компания Microsoft в новых версиях ОС Windows не гарантирует поддержку ошибок более ранних ОС.
=))
Как говорится, в новой версии убрали старые ошибки, добавили новые.... а их совместимость вам не гарантируется =)
Она и докуметированные функции-то зачастую не поддерживает забыв сообщить об этом программерскому миру =)
ZZ (2002-11-05 00:51:00) [4]Xemax
Лень проверять, но OpenProcess на smss.exe и на system возвражает нечто, не равное 0 :)) (правда при наличии у тебя той самой Debug привилегии). А кто тебе сказал, что эти 2 процесса мечтают убить твою прогу??
И что за привелегии?
В хелпе по LogonUser посмотри
Subfire
Щас разберемся :)))
Subfire (2002-11-04 16:47:00) [5]Василий2
Масло маслянное...не надо гнать банальности - нечего сказать, лучше промолчи.
А AlexVinS прав. У системы можно отобрать привелегии только если есть какие-то ошибки в ее реализации, а такой вопрос мы тут не поднимаем.
Василий2 (2002-11-04 13:47:00) [6]НЕУБИВАЕМЫХ ПРОГ НЕТ!
AlexVinS (2002-11-04 10:11:00) [7]2Xemax
IMHO: сабж неосуществим ;( Если не сломать код системы, то она не даст отобрать у себя привилегии. (причем ни привилегии не отберешь, ни аккаунт не поменяешь).
Cobalt (2002-11-04 00:26:00) [8]Рекомендую почитать статью в RSDN magazine №0 "Защита в DCOM/COM"
Там также (в начале статьи) рассказано про привелегии в NT.
Xemax (2002-11-03 15:11:00) [9]>>- только из системы в админа (наоборот скорее всего не выйдет - нужны определенные привилегии)
И что за привелегии?
>>2)Можно.. Код в FAQ (see. ExitWindowsEx) и по аналогии, но с
>>- другим процессом (OpenProcess вместо GetCurrent...)
>>- Привилегия другая и отбирается (все в хелпе :)
Ну вот посмотрел только я это и сам знаю это работает для всех процессов в системе кроме двух ( smss.exe и System - это там какие то системные процессы. smss.exe это диспетчер сеансов, а в System если я неошибаюсь выполнчются некоторые драйвера). Цель этого всего сделать НЕУБИВАЙМУЮ ПРОГУ для этого сначала надо всю систему избавить от debug-привелегии.
ZZ (2002-11-02 16:17:00) [10]Время задавать ОЧЕНЬ СЛОЖНЫЕ ВОПРОСЫ
Еще не время :))
1. Ты сначала разберись что такое привилегия. А то я, например, тебя не есть понимать. Если имеется ввиду работа в контексте (от имени) другого пользователя, то можно, если
- процесс твой
- только для текущего потока
- только из системы в админа (наоборот скорее всего не выйдет - нужны определенные привилегии)
LogonUser и ImpersonateLoggedOnUser
2. Можно.. Код в FAQ (see. ExitWindowsEx) и по аналогии, но с
- другим процессом (OpenProcess вместо GetCurrent...)
- Привилегия другая и отбирается (все в хелпе :)