| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Помогите с использованием ACL security |
| Автор: xAnejl 16.12.2004, 15:22 |
| Я использую ACL, не содержащую ни одного элемента защиты, т.е. запрещающая доступ к объекту всем, для запуска нового процесса. Но несмотря ни на что, имея права админа можно убить этот процесс. Известно, что Антивирус Касперского и ZoneAlarm создают процесс, который нельзя убить даже имея права админа! Какую ACL использовать, чтобы получить такой эффект? |
| Автор: Albinos_x 17.12.2004, 18:56 |
| Наверно его будет проще спрятать |
| Автор: _hunter 18.12.2004, 14:14 |
| касторский по другому принципу работает аларма нет -- проверить не могу ( но IMHO тоже по другому работает ) |
| Автор: Girder 18.12.2004, 22:53 | ||
| Енто делается через драйвер... Более простые защиты делают енто через... PS:И те и другие защиты... как правило пропускают... защиту потоков...
Комодератор: Перенесено из раздела Delphi: WinAPI |
| Автор: NiJazz 19.12.2004, 11:18 |
| Girder ACL - неотъемлимая часть мира WinAPI (а не программный продукт), поэтому что эта тема делает в данном разделе? xAnejl Попробуй делать не пустой ACL. То есть InitializeAcl -> AddAccessDeniedAce и т.д. В MSDN хорошо написано, сколько нужно выделять памяти для ACL. Если памяти "недодать", то работать не будет. Добавлено @ 11:18 Модератор: Перенесите тему обратно! |
| Автор: Girder 19.12.2004, 17:20 |
| NiJazz насколько я помню... то что он хочет, с помощью ACL не сделаеш(По крайне мере... надежно не получится). Но точно знаю... что енто можно... сделать с использованием некоторых программ защит. По ентому я и перенес сюда. PS:Возможно, я не правильно понял проблемму xAnejl |
| Автор: NiJazz 19.12.2004, 17:30 |
| Функция CreateProcess принимает указатель на структуру "атрибуты безопасности" (SECURITY_ATTRIBUTES). Она, в свою очередь, включает в себя дескриптор безопасности. А этот уже включает в себя ACL (Access Control List). Так что думаю, что нужно перенести тему обратно в Delphi. |
| Автор: xAnejl 19.12.2004, 21:20 | ||||||||||
пример неудачный получилса, он действительно либо через драйвер, либо через хук апи ф-цый (я так делал вместо ACL) попробуй прогу ClubTimer Client (когда как сервис запущен используя ACL блокирует доступ к убийству процесса {p.s. нужно сначало клавиатурный хук снять чтобы попробовать убить!} )
Да можно, но если я применю ACL и к потоку, то тогда только по [X] закроеш >> Комодератор: Перенесено из раздела Delphi: WinAPI Все таки ACL к WinApi относитса, и там на этот вопрос могут ответить спецыалисты, а здесь...
пробовал но не получилось... (может памяти недодал, попробую ещо раз но думаю что тоже не пойдьот, в справке написано что пустой ACL эквивалентний ACL с закрытым для всех доступом)
сделаеш, но почемуто работает только на пользователях с ограничеными правами. Вот и прошу помоч что исправить нужно. А какие это программы?
Полностю согласен, ведь прогу пишем, а не чужое программное обеспечение юзаем! |
| Автор: NiJazz 20.12.2004, 10:27 | ||
Для всех, кроме админа. |
| Автор: NiJazz 20.12.2004, 10:51 | ||
Допустим, что хочешь запретить доступ след. группам: Админ, Пользователь, Опытный ползователь и Гость. Значит, у тебя 4 SID и, соответственно, 4 вызова AddAccessDeniedAce.
Теперь инициализируешь ACL с таким размером. Модератор: Эту тему когда-нибудь перенесут на своё место?! |
| Автор: NiJazz 20.12.2004, 17:10 |
| Вот теперь я спокоен. |
| Автор: NiJazz 21.12.2004, 10:33 | ||
Создание SID группы админов. См. MSDN (Well-known SIDs). Это на C++. Переделай под Delphi. |
| Автор: RA 1.1.2005, 17:10 |
| www.madshi.net |
| Автор: xAnejl 2.1.2005, 19:34 |
| разве без Mad Shi обойтись нельзя? |