(Двоечник - 3)
(Предыдущие части -
Благотворительность,
Болезнь)
Через месяц я с удивлением понял ,что мне намного приятней работать с Дэвидом. Нет, мой шеф - прекрасный человек, и не один пуд соли мы с ним съели… Но как здорово, когда тебя понимают с полуслова!
На пару с Девидом мы с ноля переписали программу в другом языке, более мощном и современном, и, клянусь, никогда еще не работалось мне так легко и быстро. Девид уже не предлагал уничтожить Программу, она его влюбила в себя, как и нас - в свое время. Тело ее было вчерне готово, и мы занимались отладкой модулей (ловлей блох). В обычных условиях этим занимались бы профессиональные ловцы, но режим секретности не позволял забивать гвозди ничем иным, кроме микроскопов.
Я отодвинулся от стола, потягиваясь, и тут заметил коллегу. Он стоял молча с листком в руках и смотрел на меня с каким-то странным выражением лица. Так рыжий просит у меня кошачьих консервов. Я спросил, в чем дело, и он протянул мне листок. Я взглянул и улыбнулся. Ну конечно, наш компьютерный гений нашел одну из моих фирменных уловок.
- Я записал часть кода в виде блок-схемы, для наглядности. Вот здесь - он показал участок, обведенный овалом, - циклическое обращение к одному и тому же массиву данных. Получается замкнутый цикл! Должна получиться ошибка переполнения стока и полная остановка.
Я изобразил на лице удивление.
- А что, программа действительно зацикливается?
- В том-то и дело, что нет! Она почему-то продолжает работать!
- Девид, а где тут проблема? Программа работает, выдает на гора результаты. Какая разница, как мы этого добиваемся?
Девид чуть не плакал.
- Но это неправильно, она не может работать! Чего же я не понимаю?
Я приобнял его за худенькие плечи (что же вы, мама, совсем сына не кормите?), и уволок в комнату отдыха. Взял себе в автомате эспрессо, а ему капуччино. Поставил стильные разовые чашечки на столик, сходил к другому автомату за минералкой. Раслегся удобно на диване и начал объяснение.
- Ты слышал, конечно, высказывание Гераклита - Нельзя войти в одну реку дважды. Понимаешь, в чем его смысл? Правильно, в функции. Содержание изменяется, а функция - нести воду - остается прежней. Река изменяется постоянно, оставаясь рекой.
Тот же принцип и здесь. Мы обращаемся раз за разом к одному и тому же массиву данных, в данном случае - к каталогу сделок на фондовой бирже. Массив этот а - большой, и б - динамический, изменяемый непрерывно. В мире совершаются ежедневно миллионы операций с ценными бумагами, и база данных изменяется с частотой двадцать операций в секунду. Если мы станем обращаться к ней с подобной частотой, то сможем отслеживать только изменения и дополнения, новости, так сказать. Отфильтровывая поток по интересующим нас критериям, программа выделяет тенденции, и тогда уже ищет обратно по временной шкале, проверяя свои догадки. Случайности отфильтровываются, и остаются действительно имеющие место закономерности, тенденции. Например (я позволил себе улыбнуться), - повторяющиеся вложения некоего благотворительного фонда в акции другого, трастового фонда, который вообще не показывает прибыльности своих операций на бирже, но зато находится в офшорной зоне. А также регулярно переводит астрономические премиальные членам совета директоров, имеющим счета в одном и том же банке, на Каймановых, например, островах…
Девид густо покраснел.
- Ты не понимаешь! Эти деньги предназначены для борьбы с преступностью! Необходимы большие силы, чтобы бороться с международным террором!
- Да, деньги - это сила. Особенно, серые, неподконтрольные никаким органам власти. Только ведь эту же схему или очень похожую используют и настоящие террористы? В чем же разница?
Девид вскинул голову и гордо произнес:
- Мы - хорошие парни!
- Уверен, что это так и есть. А что, кто-то тут в этом сомневается? Я, например, только объясняю на подходящем примере работу программы…
Назавтра ситуация повторилась почти полностью, только на этот раз на рисунке была схема стандартного пакета передачи данных по мировой сети. Давиду не терпелось узнать, почему программа изменяет их содержание, и зачем записывает данные в заведомо не читаемые участки пакетов. И снова, вместо того, чтобы заниматься делом, мне пришлось преподавать ему азы хакерства. Не скажу, чтобы мне это было неприятно, но смысла особого в таких лекциях не было. Сделать хакера из тридцатилетнего ботаника-программиста невозможно. У него просто мозги работают по другому. Есть правила, по которым делается все - дома, машины, программы. И есть преступники-луддиты, ломающие хорошие, правильные вещи. Бессмысленно и беспощадно )) Ну и как объяснить этому отличнику, что настоящий хакер растет, как сорняк, на задворках его правильного мира, ничего не принимая на веру, испытывая все на прочность, разбирая, изменяя, ломая все, что попадает ему в руки?
Я начинал в детстве со взлома компьютерных игр. Это ведь было так естественно - чтобы не тратить время на однообразные прохождения, накрутить себе счетчик ресурсов, обзавестись мощным оружием, броней и бессмертием, и сокрушить за один заход всех врагов, всех монстров и чудовищ. Ведь мы же хорошие парни, поэтому победа должна быть за нами!..
Потом уже был спорт взлома защиты коммерческих программ. Обмануть, провести, победить таких китов, как Адоб или Автокад, считалось делом чести, доблести и славы. Не говоря уже о майкрософт, как будто специально созданной для взлома…
Потом началась эпоха капитализации. Кто не завис навечно в играх, стали продавать свои услуги. Сформировался рынок рабочей силы, со своим спросом и предложением, и с ценой. Теперь ты точно знал, сколько ты стоишь - это была твоя цена на рынке. Я поплавал немного в этой мутной воде, а затем слинял в армию. Пересидеть, отдышаться. А то слишком часто пошли несчастные случаи среди наших, особенно среди тех, кто, как и я, работал по старинке, в одиночку. Наступало время команд и группировок. Я ушел в тень на три года.
Не могу сказать, что потратил их зря. Одно знакомство с шефом чего стоило! Да и остальные ребята дорогого стоили. Мы много дали друг другу. Во всяком случае, всего одна коммерческая идея из обсуждаемых в курилке озолотила меня после дембеля. Эх, если бы не катастрофа на бирже, я мог бы сейчас руководить собственным бизнесом с частного тропического острова! Впрочем, жалеть подолгу о чем угодно было не в моем характере. И это пройдет, как справедливо заметил Екклесиаст.
Я не стал объяснять Девиду, как исполняемый модуль пересобирает себя из обрывков, записанных в пакетах, в памяти целевого компьютера, выполняет поставленную задачу и самоуничтожается бесследно, отослав по защищенному протоколу интересующие меня сведения. Как говорится, бесплатно только птички поют, а я, кажется ,чересчур распелся. Даже самая лучшая в мире секретная, выгодная и престижная работа когда-нибудь заканчивается, и глупо будет уйти, отдав армейцам все. Все, что нажито и наработано непосильным трудом )) К счастью, хакера не так уж легко ограбить. Главное имущество хранится в голове - все мое ношу с собой. А то, что не помещается в черепной коробке, надежно схоронено в облаках, под лучшими программами шифрования.
За ужином шеф процитировал Иисуса - Ежели же кто попросит у вас кожух, отдайте ему и рубаху… Кажется, он догадывается, о чем я думаю, и одобряет мое решение. У него тоже, насколько я знаю, есть несколько джокеров и тузов в рукаве, и он ими что-то не спешит делиться.
Ужин - единственное время, когда можно просто общаться. Все остальное время расписано у нас по минутам, и так ловко, что даже в спортзале мы проводим время в одиночестве. У нас тут довольно мило, и уютно даже, если не думать о количестве подземных этажей над головой. Твердые три звезды. Номера на одного, с душем и телевизором. Ковры на полу, цветы в вазах. Кормежка на высшем уровне. Судя по изобилию блюд, еда спускается к нам прямиком из какого-то крутого отеля. Вайфай, правда, только в холле, но я отвоевал право таскать с собой везде свой старый самсунг пятнадцатиинчевый, поэтому в холле закачиваю новинки торрент клиентом, а в номере смотрю их с кайфом, лежа на кровати.
Сегодня получил письмо от Марины. Небольшое и какое-то казенное.Описания быта, благодарность за помощь. Маме намного легче, лекарства от больничной кассы прекрасно помогают. И отец потихоньку поправляется. Ему сделали операцию, поскольку он сильно запустил лечение. Но оперировали его лазером, безо всяких разрезов, и состояние его не внушает опасений. Я порадовался за Маринку и за ее родителей. Приятно, черт возьми, что есть еще у нас порох в пороховницах, и мы можем помочь друзьям в тяжелую минуту!
В конце письма - приписка и фото.
- Полюбуйся на нас, какие мы все красивые и здоровые! А я еще фотошопом прошлась по снимку ,вспомнив твои уроки. А ну-ка, зацени! ))
Назвать применение двух готовых фильтров - блюр и сепию, работой в фотошопе было явным преувеличением. Ладно, спишем на цвет волос )) Но тут вот какое дело - я никогда не учил Марину фотошопу. Ни разу. Единственный раз мы говорили о фотографии, и то вскользь. Тогда я показывал, как можно записать информацию в графический файл. Интересно…
Я удобно устроил лептоп на пузе и включил боевик. На камерах наблюдения в полутьме отчетливо видна была моя довольная физиономия с отсветами фильма. Раскрыв кино на пол экрана, я разобрал на оставшейся свободной половине скачанную фотографию. Да, в ней было скрытое содержание, но под хорошим замком. Без пароля не извлечь. Я стал вспоминать, что рассказывал Марине о шифровании. Начал пробовать приводимые ей тогда примеры. Подошла фраза А ну-ка, зацени! ))
Не зря говорят, что прятать лучше всего на виду.
Я открыл текстовой файл, не останавливая фильм. Под звуки выстрелов и драки прочитал:
- Вас разводят втемную. Института с таким названием в стране нет. Здание по документам идет под снос. Сейчас тянется какая-то судебная тяжба о правах кого-то из прежних арендаторов, так что еще много лет может сохраняться нынешнее положение.
Армия ничего не знает ни о вас, ни о ваших работодателях. Так в армии никого не нанимают и не содержат. Я попросила выяснить положение дел старого папиного друга, особиста, так он через день отказался помогать, причем был явно напуган. Мне уже угрожали, но как-то тупо. Алкаша подослали, так он бутылкой махал перед моим лицом, обещал сделать "розочку" и улучшить мою красоту. Один удар носком туфли в пах резко уменьшил уровень его агрессивности, а вызванный мной патруль снизил его (уровень) до нуля.
Не теряйте надежду. Муж подруги, контрразведчик, Виктор Н., копает сейчас изнутри, но очень осторожно. По его мнению, это криминал, мафия. Он передает тебе горячий привет и говорит, что ваше попадание к мафии может обернуться большой удачей. Держись и не прыгай выше головы. Вас вытащат, поверь.
А за папу с мамой действительно спасибо! Они передают тебе поклон.
Твоя М.
P.S. Не верь шефу. Он ведет двойную игру. Его видели в городе недавно.
Я думал и перебирал варианты, глядя на мельтешение фигурок на экране. Я Виктора немного знал по армии ,и понимал, что на ветер он слов не бросает. Горячий привет означает, что дело пахнет керосином, и нужно соблюдать сугубую осторожность. Поклон от родителей - то же самое. Рвануть, значит, может в любую секунду. Ладно, учтем.
Я похвалил себя за предусмотрительность. Как хорошо, что не раскрыл всего. Вот только, что делать с моим начальником? Придется в этой игре переходить на новый уровень сложности. Единственный мой козырь сейчас - знание собственной программы. Как только я передам все ее секреты, моя жизнь резко уменьшится в цене. Значит, спешить мне не следует. Спешка вредит здоровью ))
Продолжение следует...