AlexF
Цитата:
По поводу действия только на explorer это не верно это также дейсвует и на cmd , единстенно если разрешить запускать cmd то тогда с нее можно запустить уже любое приложение.
|
Вы вообще, внимательно читаете, что написано?
Короче, чтоб не было непонимания.
Описанная политика - ОДНА. Неважно, через pol или adm или reg или руками в реестре она натянута.
Данные эти читает только библиотека оболочки. Потому, если запуск осуществляется из любой программы, не использующей этот механизм оболочки - эта политика не проверяется. Это верно не только для CMD, но и для Far и для чего угодно.
Зато есть способ, как ЗАПРЕТИТЬ, причем надежно, запуск программы по ИМЕНИ. Все системы NT поддерживают настройки опционального отладчика (и не только) для отдельной программы, надо просто в качестве этого отладчика написать какую-нибудь безобидную программу.
Делается это в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Там создается подраздел с именем программы, и в нем параметр Debugger с именем программы. То, что хотели запустить, передается в программу через командную строку.
Реализовано это на уровне ntdll.dll, так что никакие программы (кроме тех, что совсем низкоуровнево процессы создают) это не обойдут, CMD и Far и все остальные к таким хакерским вещам никак не относятся.