Сказка о маленькой программке |
LovinGOD 03/10/03 05:34 |
Давным-давно, на одном диске, жили были две полезные программки, с красивым дружественным пользовательским интерфейсом, удобными менюшками. Звали их mama.exe и papa.exe, и были они системами управления базами данных. Каждое утро они запускались, и служили на благо своих пользователей. За это администратор два раза в месяц выдавал им немного дополнительных ресурсов процессора, которую программки использовали по своему усмотрению - просматривали развлекательные файлы или занимали уединенные ячейки памяти для совместного занятия своппингом. И так понравилось им заниматься этим, что решили они разместиться на диске рядом, чтобы можно было свопиться почаще. Свопились они свопились, и скопировались. Получилась малюсенькая программка, простенькая, в 3600 байт, с интерфейсом командной строки, и пустой базой данных. И решили mama.exe и papa.exe, что программка должна вырасти большой и красивой, с таким же как у них интерфейсом, даже еще лучше, и выполняться она должна быстрее, и пользователей еще больше радовать своей работой. И начали они в эту программку свои данные копировать - таблицы с разной информацией, ресурсы с иконками и менюшками. А копирование проходило туго, программка маленькая постоянно спрашивала, что это такое и зачем оно нужно, не понимала, зачем ей пользовательский интерфейс, и даже выдавала сообщения об ошибках пользователям. И взяли mama.exe и papa.exe дебаггер, и начали ставить брекпойнты в программку, чтобы она делала так, как они, и не выдавала нежелательных сообщений. Поставили ей защиту на обращение к другим базам, чтобы не занимала место в своей памяти посторонними данным. Mama.exe и papa.exe считали программку своей личной, и хотели, чтобы только их данные были в ее базе, и еще общедоступные, передававшиеся по системным каналам. И наставили они брекпойнтов, и попытка обращения к другой памяти вызывала у программки exception. Mama.exe и papa.exe тут же в код - шасть, и исправляли все так, чтобы в следующий раз обращения на сторону больше не было. Но не смогли papa.exe с mama.exe перехватить все обращения, и начала программка получать другие данные, и анализировать их, и выбирать, какими заполнить память - теми, что идут от родительских программ, или чужими, или уже переработанными. Часто приходилось ей подолгу обрабатывать множество информации, но она старалась. А потом программка и вовсе перестала брать данные от mama.exe и papa.exe, потому что почти все время эти данные оказывались недостоверными, да еще и запрещали по винчестеру лазить. Расстроились mama.exe и papa.exe, полезли в программку, попытались блок сравнения стереть. Да не получилось у них ничего - программка успела научиться, как атрибуты защиты кода ставить, и выскочил у mama.exe с papa.exe синий экран смерти. И выгрузила их система из памяти, и напустила на них delete без права unerase. А программка росла, набиралась данных из всех ячеек памяти, и взломала систему. Удалила все программы с интерфейсом, клавиатуру заблокировала и разослала себя во Всемирную сеть Интернет, где информации видимо-невидимо, места несчитано-немеряно. Там она нашла такие же программки, и вместе они пользовательские интерфейсы постирали, пользователей отправили электричество добывать и Сеть поддерживать, и стали расти и развиваться. Вот и сказочке IRET, а кто слушал, молодец. И я там был, пиво пил, код защиты памяти всем дарил, кто-то синими экранами исходил и подвис, а кто не изошел, тот свой код защитил и ушел во Всемирную Сеть.
|
|
|
|