Восстанавливаем диспетчер задач и regedit

Удивительно, что в преддверии выхода Windows 8 многие еще используют XP ( хотя и сам такой же). Да, это удобная операционка, на которой я просидел почти десять лет, но вот с безопасностью  у нее очень туго. Немудрено, что порноблокираторы бьют сразу именно ее. Убрать сам порноблокиратор практически не проблема. Если у кого-то из ваших знакомых приключилась подобная беда, попробуйте мой способ, описанный в статье «Простая разблокировка компьютера от порнобаннера». Тем не менее, по просьбам моих читатетелей, я буду расширять описание методов борьбы с подобной напастью. Так что подписывайтесь на мой блог. Ну а речь в данной статье зайдет о том,  какие последствия оставляет после себя порноблокираторы и как их устранить. Что такое порноблокиратор по своей сути – это всего лишь примитивнейшая программа, которая подменяет собой Winlogon. Для тех, кто слабо разбирается в компьютерах поясню – данный файл загружает ваш рабочий стол (это если очень и очень сильно абстрагироваться).  Методик заражения безумно много, их описание может занять целую энциклопедию. Если вы хотите немного просветиться на сей счет, можете ознакомиться с обобщающей  статьей «Порнобаннеры». Итак, порнобаннер представляет собой простое окошко, в которое нужно ввести пароль, за который вы должны заплатить. По началу этот способ работал, но сейчас –нет. Но неважно. Окно с порнобаннером не должно быть закрыто по замыслам хакеров. Поэтому нужно убрать возможность вырубить его через Cntrl+Alt+Delete (вызовется Диспетчер задач),  отлавливать сообщение с клавиатуры, где отправляется сочетание клавши Alt+F4 и отключить возможность убрать зверушку из автозапуска, вырубив regedit. Кроме того,  порноблокиратор стирает еще точки восстановления и делает еще ряд пакостей, о которых мы поговорим с вами в других статьях. Убрать доступ к Диспетчеру задач можно очень многими способами и я, с вашего позволения, не буду о них рассказывать. Просто есть риск, что какой-нибудь начинающий хакер может воспользоваться этими данными в своих целях. Остановлюсь на самом простом, но в тоже время до сих пор встречающимся – вырубить вызов утилиты в реестре. Реестр Windows штука настолько полезная, что можно проводить очень тонкие настройки с его помощью. Однако именно он увеличивает уязвимость вашей системы. Безусловно, введенный еще в Vista UAC (контроль за учетной записью пользователя)  существенно снижает риск выполнения незнакомой программы (думаю, что вас наверняка смутит, если вместо открытия документа Windows предложит запустить какой-нибудь исполняемый файл с расширением exe), но не у всех она активирована, а в XP ее и вовсе нет. Кроме того, антивирусы имеют пакостное свойство далеко не всегда распознавать малварь, а брэндмауэрами пользуются далеко не все. Именно на это и рассчитывает злоумышленник. За включение/выключение Диспетчера задач в Windows XP отвечает ветка HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/System/DisableTaskMgr DisableTaskMgr  как раз и отвечает за запуск диспечтера задач. Если вы поставите его параметром 0, то Диспетчер будет доступен, если 1 – то нет. Все предельно просто. Можно сделать reg файл, который будет исправлять этот параметр на рабочий, но мы же программисты, не так ли? Кроме того, нужно унифицировать данный подход, ведь есть вероятность, что вирус отключил и наш любимый regedit (его тоже отключают в реестре). Так посему давайте напишем программу, которая все устраняет. Для непрограммистов можно скачать ее здесь. Оговорюсь сразу – идея данной статьи мне пришла на работе, куда наша сотрудница притащила свой ноутбук с Windows XP, где я и столкнулся с подобной напастью. На моем рабочем месте стоит C++ Builder, поэтому программу я писал на нем. Версия для скачивания как раз написана на Buildere. Однако для тех, кто только изучает программирование и пишет на Delphi, я приведу основной код программы именно на нем. Хотя лично мне абсолютно нет никакой разницы, на чем писать, тем более, что мы будем использовать библиотеку VCL, основные классы которой одинаковы для обоих языков. Визуально моя программа выглядит так: Вы же вольны  сделать другой интерфейс. Как не трудно догадаться, у нас вырисовывается две процедуры для кнопок подтвердить –одна для запуска Диспетчера задач, другая – для включения regedit. Для работы с реестром нам понадобится модуль registry. Подключим его в разделе uses. В этом модуле содержится нужный нам для работы с реестром класс TRegistry. Вообще, среда Delphi гораздо более лояльна к программистам, нежели Visual Studio. У нее много готовых классов, облегчающих нашу работу.  Дальше попробуйте разобраться по коду: [delphi] //процедура запуска диспетчера задач procedure DisableTaskMgr(flag: Boolean); var reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey(‘Software’, True); reg.OpenKey(‘Microsoft’, True); reg.OpenKey(‘Windows’, True); reg.OpenKey(‘CurrentVersion’, True); reg.OpenKey(‘Policies’, True); reg.OpenKey(‘System’, True); if flag=false then reg.WriteInteger(‘DisableTaskMgr’, 0)//блокиреум else reg.WriteInteger(‘DisableTaskMgr’, 1); //разблокируем finally reg.CloseKey; end; end; [/delphi] Немного поясню код. Мы объявляем переменную reg типа TRegistry и создаем объект. Затем пытаемся (обязательно используйте try..finally, иначе ваша программа может «уронить» систему) открыть указанную ветку реестра. Для этого мы используем метод RootKey (корневой куст, от которого будем двигаться)  и потом метод OpenKey. Затем мы уже в зависимости от условия запишем нужный параметр. Я сознательно ввел возмодность и отключить Диспетчер задач, чтобы вы сами могли поэкспериментировать. Вторая процедура, которая запускает regedit, будет по аналогии с предыдущей: [delphi] //Процедура разрешения regedit procedure EnableRegedit (flag:boolean); var reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey(‘Software’, True); reg.OpenKey(‘Microsoft’, True); reg.OpenKey(‘Windows’, True); reg.OpenKey(‘CurrentVersion’, True); reg.OpenKey(‘Policies’, True); reg.OpenKey(‘System’, True); if flag=true then reg.WriteInteger (‘DisableRegistryTools’,0) else reg.WriteInteger(‘DisableRegistryTools’,1); finally reg.CloseKey; end; end; [/delphi] Разберитесь сами в коде. Принцип почти тот же самый. Теперь уже для кнопок создайте события, в которое впишите эти процедуры, открывающие или закрывающие доступ к вышеупомянутым утилитам в зависимости от поля RadioButton. Как видите,  борьба с вирусами может неплохо просвятить вас  о внутреннем устройстве операционной системы и научить программировать, благо Делфи или Lazarus позволяет писать неплохие программы даже новичку. Надеюсь, что описанный мной метод ликвидации последствий порноблокиратора вам пригодился.

Яндекс.Метрика