![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
объясняю: Form1 - главная форма приложения, чтобы туда попасть нужно ввести пароль на вторичной форме, так вот ее и все приложение можно закрыть таким образом, Главное окно скрыто до тех пор пока не будет правильно введен пароль, поэтому я проверяю Visible окно или нет
Код:
поэтому я сейчас судорожно пытаюсь вспомнить какой стиль поставить форме, чтобы она на панели задач вообще не отражалась P.S. все можно сделать куда проще - ShowWindow(Application.Handle, SW_HIDE); и на панели задач, равно как и в диспетчере окно не будет светиться только это не исчерпывает тему разговора
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
Последний раз редактировалось joker; 26.03.2008 в 17:26. |
![]() |
![]() |
![]() |
#12 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
joker, если бы Вы сразу так написали, можно было бы не ходить несколько дней вокруг да около. Создавайте окно (в котором вводится пароль) так, чтобы его родителем было главное, скрытое окно. Можно для красоты убрать из него лишние кнопки и системное меню (убрать те стили, которые объединяет WS_OVERLAPPEDWINDOW), хотя это ничего не меняет - если его парентом будет невидимое окно, значит на панели задач его не будет. На C это делается в два счёта, могу выложить листинг. Сама такая "программа" в аттаче. Посмотрите, правильно ли я Вас понял.
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
спасибо, я правда уже так сделал, у меня и главное окно тоже на панели задач отсутствует
как предотвратить показывание главного окна программмы сторонними приложениями У меня примерно также написаны WMSHOWWINDOW и WMDESTROY, но окно показывается, несмотря на то, что inherited не выполняется, при этом на окне не видны все компоненты, есть только меню, а уничтожается оно всегда, несмотря на невыполнение inherited Как можно узнать, что компьютер действительно выключается, а не какое-то приложение отправило тебе WM_QUERYENDSESSION или даже без QUERY И если перехватить NtShutdownSystem, защитит ли это от аварийной перезагрузки компа или нет?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#14 | ||
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
Цитата:
Во-первых, перехваты Native API воспринимаются как крайне враждебное действие со стороны хороших HIPS'ов или антивирусов, кроме того этому может препятствовать политика безопасности. Строго говоря, средства администрирования позволяют запретить завершение работы, например, для обычных пользователей. Во-вторых нужно помнить, что функции в ntdll.dll существуют для "удобства работы" - при желании ничего не стоит обратиться к системным сервисам напрямую, а всё, что происходит в User Mode - это "войны в песочнице" - Ваш процесс в любой момент может быть приостановлен, изменен до неузнаваемости или просто уничтожен тем, что работает в нулевом кольце. В крайнем случае система может быть просто остановлена через KeBugCheckEx - и Ваше приложение никогда об этом не узнает. Не знаю, что именно Вы хотите изобразить, но для того, что Вы указали, по-моему, пока достаточно просто грамотно организовать обработку WM_STYLECHANGING и, может быть, WM_WINDOWPOSCHANGING и наложить какие-то дополнительные условия и проверки на стандартное закрытие окон. Последний раз редактировалось B_N; 27.03.2008 в 14:57. |
||
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
скажем так, тем, кому нужно будет мое приложение просто добавят его в доверенную зону, к тому же то же юзермодное скрытие процесса перехватом ZwQuerySystemInformation никто не отменял
Переход в нулевое кольцо через шлюз стал приводить к аварийной перезагрузке компа, каспер 6-ой версии постоянно так делает (остальные популярные антивири тоже переняли эту привычку), даже не высвечивая никаких предупреждений, видимо нет у него времени отвлекаться, надо спасать компьютер от вторжения :-) А драйвер писать мне пока не хочется, хотя DDK на руках Хотелось бы выжать из юзермода по максимуму Насколько я понял изменение обработиков WM_SHOWWINDOW и WM_DESTROY ничего не даст, есть ли юзермодные способы избавиться от принудительного показа окна другими приложениями (фантазия: типа проверить от кого пришло, если от себя, то разрешить :-)) и от уничтожения/закрытия окна, если только комп реально не выключается/перезагружается?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#16 | ||||
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
![]() Цитата:
![]() Цитата:
Цитата:
Код:
![]() |
||||
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
короче, прога предполагает, то, что ставится она будет на всей машине, а работа на компах в основном происходит под ограниченной учетной записью, а SetSecurityAtributes и DACL=2 + скрытый процесс должны задержать предполагаемых злоумышленников, поэтому меня больше беспокоит принудительный показ главного окна
насчет нулевого кольца, то у меня 6-ой каспер и на других компах с другими антивирусами при пользовании MS-REMовским ring0.pas (с WASM)перезагружается комп на функции InitializeRing0Library, причем без разницы через CALL_GATE или DRIVER_GATE
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#18 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
1. Можно создавать окно только тогда, кода нужно его показывать. 2. Создавать (под NT5) "message-only" окно (дочернее для HWND_MESSAGE). 3. Создавать окно на другом десктопе. 4. Работать в другой оконной станции. 5. Работать неинтерактивной службой. 6. Вообще не создавать окно (зачем оно, если никто не должен его видеть!!?) и работать через синхронизацию. 7. и т.д. Миллион вариантов, не понимаю в чем сложности... А скрытие процесса в третьем кольце - это чепуха. Если хотите, проверьте программкой в аттаче, правда мне не хотелось долго возиться и я сделал её только под XP ![]() К счастью, по всей видимости, не знаком с данной библиотекой. Сочетание "Ring0" и "pas" меня лично вообще очень смущает. А уж что там может валить машину.... Да всё, что угодно, скажите хотя бы, какой багчек и в каком модуле. Бросьте Вы эти мучения, напишите нормальный драйвер да и всё. Переписывание SSDT за 15 лет обсосали уже до косточек, там вообще никаких проблем нет. |
|
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
спасибо за архивчик и
простите меня: за мое неадекватное юношеское рвение и "игры в песочнице", возраст еще позволяет, за мое неуважение к Мастеру и самодурство темного человека мы люди темные, маленькие, лишь изредка рыла из панциря высовываем и злимся только на все, что вокруг, прячемся назад в уютный кокон ![]() ![]() ![]()
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Че-то странное .... | ~Brilliant~ | Безопасность, Шифрование | 9 | 27.04.2009 13:57 |
закрытие вкладки в TTabControl | Shade | Помощь студентам | 3 | 06.02.2009 13:10 |
Закрытие программы | Zloy_Doomer | Общие вопросы Delphi | 3 | 23.06.2008 19:08 |
Странное поведение ПОИСКПОЗ | ZORRO2005 | Microsoft Office Excel | 5 | 19.05.2008 14:02 |
Закрытие приложения | Лёка | Общие вопросы Delphi | 7 | 09.03.2008 15:50 |