Безвредный
вирус на скорую руку. Написание саморазмножающейся программы в командной
строке. Практикум работы с файловой системой компьютера. Командно- и
объектно-ориентированные интерфейсы ОС компьютера.
В
начале урока можно провести параллели между способом размножения вирусов в
живой природе и размножением самокопирующейся программы внутри компьютера. И
там, и там в функционирующие коды встраивается небольшой фрагмент, который
заставляет систему производить копии того, чем она не является. Т.е. весь
потенциал системы (живой клетки или операционной системы компьютера)
направляется на единственный из возможных способов, крайний в своей узости
функционал малой части её возможностей.
Следует
подчеркнуть, что приведённый ниже код не нанесёт операционной системе Windows никакого вреда, но воспроизведёт часть функционала программы-вируса –
саморазмножение путём самокопирования. В результате в корневом каталоге
выбранного для эксперимента диска псевдовирус создаст ветвь из вложенных друг в
друга папок до самого нижнего из возможных уровней вложения, разложив в каждую
папку свои копии.
Псевдовирус
можно написать в простейшем текстовом редакторе (например, в «Блокноте») либо
непосредственно в командной строке, используя команды MD,
CD
и COPY.
Предположим, что мы находимся в корyевом
каталоге диска D:>\
. Пусть имя создаваемой папки будет для простоты 0 (ноль), имя пакетного
файла самокопирующимся кодом 1.bat
. Открыть запись файла из командной строки можно так:
D:>\
copy con
1.bat {после
нажатия на клавишу Enter
командная строка перейдёт в режим ожидания ввода записи и построчного её
сохранения}
md
0 {команда создаст папку по имени 0 в текущем каталоге}
copy 1.bat
0 {команда копирует файл по имени 1.bat в созданную папку по имени 0}
cd
0 {команда смещает отзыв операционной системы в папку D:\0>_}
1.bat
{команда передаёт управление копии пакетного файла, находящейся в папке D:\0}
Закрыть
и сохранить запись в командной строке можно, нажав последовательно
функциональную клавишу F6,
а затем клавишу ввода Enter.
Операционная система выдаст сообщение на русском или английском о том, что
скопирован 1 файл.
Если
работа с командной строкой Вас не устраивает, можно написать в «Блокноте» такие
четыре строки:
Файл
следует сохранить под именем 1.bat
в корневом каталоге того диска, с котором Вы его запустите на выполнение,
выбрав в поле ввода «Тип файла» опцию «Все файлы».
Запустить
файл на выполнение можно из командной строки, открыв сеанс работы с ней. Надо
выбрать том, набрав C:
либо D:,
или имя того тома, на котором Вы запӯстите пакетный bat-файл.
Если файл точно находится в корневом каталоге текущего тома, надо перейти в
корневой каталог командой CD\
(Enter),
набрать в командной строке команду dir (Enter).
В выведенном списке должен быть файл 1.bat.
Набрав в командной строке 1 и нажав Enter,
Вы увидите результат работы самокопирующейся программы. Т.к. есть предельная
глубина вложения папок друг в друга (в разных версиях Windows я наблюдал от 76 до 126 вложенных папок), а код будет продолжать
стараться создать новую папку и скопировать себя туда, секунд через 5-10 следует
прекратить дальнейшие бесплодные действия, нажав сочетание клавиш CTRL+C.
Если такое нажатие 2-3 раза подряд не поможет, просто закройте сеанс работы с
командной строкой.
Зайдя
средствами Windows в корневой
каталог тома, где поработал самокопирующийся код, Вы обнаружите там папку 0, в
которой лежит копия файла 1.bat
и ещё одна папка 0 и т.д. Можно попытаться дойти до самого дна. Можно
попробовать изменить имя создаваемой кодом папки вместо однозначной на
2-х-(3,4,5,6 и т.д.)-значную и посмотреть, насколько уменьшится глубина
вложения папок при увеличении длины их имени.
Удалить
126-сучковую веточку с дерева тома можно средствами Windows.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.