|

HARD DRIVE KILLER VERSION 3.0
Xakep, номер #007, стр. 007-038-2
Теперь будем смотреть на внутренности нашей программы. Начинаем с "настройки" autoexec'а. Прежде всего снимем атрибуты "скрытый" и "только-для-чтения" с файла autoexec.bat, чтобы можно было без проблем им манипулировать. Строка "echo format c: /q /u /autotest >nul >c:\autoexec.bat" весьма важна, она означает: все что находится после слова "echo", должно быть выведено на экран. Но мы перенаправляем вывод на экран в файл autoexec.bat. После чего он будет содержать команду - "format c: /q /u /autotest >nul". Команда "@echo off" в начале нашей программы просто не выводит на экран результаты работы, а перенаправление на nul - сами команды (не путать эти два понятия!). Это только начало "конфигурации" autoexec'a. Примите к сведению, что "echo @echo off >c:\autoexec.bat" обнуляет autoexec для того чтобы в дальнейшем программа стартовала безо всяких задержек. После чего наша программа начинает вставлять свой код в "обновленный" autoexec. Этот процесс займет пару секунд, в зависимости от скорости машины. Полностью процесс работы программы занимает около пяти секунд, если работает format. Если по какой-то причине на диске нет файла format.com, то остается deltree, но это несколько дольше (несколько минут). Но я уверен, что сработает format...
Если у жертвы кривые руки и в autoexec'e нет переменной PATH с путем к format'у, то программа начинает поиск format'a в местах, где наиболее часто встречаются его лежбища (c:\dos для Windows 3.1 и c:\windows\command для Windows 95/NT/98). После успешного поиска он оттуда и будет запущен. Бросим глаз на пример. Скажем, метка ":dosform". Переход к этой метке произошел после метки ":form", которая говорит: "если файл format.* существует в директории c:\dos, то иди к метке ":dosform". И команды, которые находятся под меткой ":dosform", считают, что файл format.* находится в Dos директории. И так далее... Как видите, в программе несколько похожих ходов. После обширного исследования ПиСюка "жертвы" программа вставляет свой код полностью в autoexec.bat вместе с множеством "echo" команд.
Как можно заметить, в восьмой строке программы есть команда "echo dummy variable >c:\dvar.txt". Совершенно не важно, что будет находиться в этом файле. Эта фиговина нужна лишь для того, чтобы определить, был ли отформатирован винт или нет. То есть, если после запуска программы она обнаруживает, что этот файл еще существует, программа думает, что отработала формат (иначе его бы не было), :) и после этого переходит к фазе "delete" (которая запускается строкой "if exist dvar.txt goto dtree").
Немного о команде format. Свитч /q включает режим "быстрого" форматирования, свитч /u включает "безусловный" формат (типа, без вопросов), /h включат многозадачный режим (форматирование будет идти в фоновом режиме) и, наконец - /autotest, включающий режим , когда ПиCюк не спрашивает: "Ты уверен, что ты хочешь отформатировать системный диск???".
На основе этой программы можно написать более мощную, обрабатывающую не один диск. Также можно сделать "Вордовский" макрос. Еще можно засунуть ее в самораспаковывающийся архив, который будет ее запускать при запуске... Вариантов - тьма! Главное - проявить больше фантазии...
Назад на стр. 007-038-1 Содержание Вперед на стр. 007-038-3
|