Часть 10. Пастафарианство

Патч

Я часто откладываю вроде бы уже принятые решения “на потом”. И дело не в лени или прокрастинации (что тоже, конечно, бывает). Дело в подходе – методе.

Логика здесь такая. Допустим, сегодня задача ясна, всё понятно, и, кажется очевидным, что к её исполнению можно приступать. Однако эта очевидность не даёт однозначной уверенности, что лучшая мысль не придёт в голову завтра.

Не счесть сколько программ я написал, в итоге только к релизу осознав, что изначально их стоило делать чуть иначе – и было бы лучше. Сколько печатных плат было сделано только чтобы в самом конце дотумкать, что “здесь стоит добавить конденсатор” (мелкая деталь, меняющая буквально всё в стабильности работы системы). Сколько дел вообще я начал и лишь в процессе понял, что изначальный план был не самый оптимальный.

Как там древние говорили? – “Дорогу осилит идущий”. Да, начало работы – половина пути. Здесь древние правы. Но что считать тем началом? Взятие инструмента в руки или первое составление плана?

Возможно, мой метод неправильный, но для меня он работает.

И не знаю, почему так, но идеальные варианты (или наиболее простые, как в этом случае) всплывают в голове всегда неожиданно. Две минуты назад ты думал о снеге, что засыпал твою машину почти по крышу, или о мире, что ополчился против тебя, а вдруг бац: “Этот алгоритм должен работать так!”, и всё.

Возможно, это защитная реакция моего организма? Не знаю. Будто кто-то внутри сидит и кричит: “Да плюнь ты на всё, смотри, какая интересная штукенция вырисовывается!”

В общем, едва выйдя за ворота базы и усевшись на ближайшую лавочку, я сразу же принялся за работу.

Итак, что мы знаем о местном интернете? Только то, что он представляет собой огромную пиринговую сеть, где каждый человек с виртом выступает как в роли клиента, так и в роли ретранслятора данных для остальных участников. При этом каждый узел скрупулёзно логирует, кто, когда и зачем к нему подключался.

В результате мой уникальный идентификатор светится в тысяче журналов людей, о которых я даже и не подозреваю.

И как с этим бороться? Можно, конечно, просто выключать вирт в случаях, когда не хочется “светиться”. Мало того, с некоторых пор я даже начал так поступать. Проблема только в том, что при выключенном вирте не работает и мой самописный радар. А оставаться “слепым” мне совершенно не улыбается.

Не могу я уже без него – уж больно быстро человек привыкает к хорошему!

Ходить с выключенным виртом – полумера. И это несмотря на то, что обычному человеку такая роскошь недоступна.

Что ещё можно придумать?

Можно, конечно, выборочно заблокировать исходящую сетевую активность, но я пока не настолько силён в местном программировании. Архитектура Системы, увы, выглядит слишком запутанной, и непонятно даже, с какого конца к этой задаче подходить.

Совершенно неожиданно на нужную мысль меня натолкнул Сим. То есть сделал он это ещё вчера, а итоговая мысль дозрела только сегодня.

Хуки и триггеры. Я уже говорил, что местное программное обеспечение имеет огромное множество таких элементов. Происходит какое-то событие – Система вызывает какой-то триггер. Итог – все запущенные программы могут среагировать на это событие.

А потом Система что-то собирается сделать, и перед этим вызывает триггер другого типа, с помощью которого программы не просто уведомляются, но и могут что-то исправить, изменить или даже выполнить всю работу за Систему. Такие триггеры называют по-разному, но у нас на работе обычно их звали хуками.

Так вот, симбионт. Ещё вчера он обратил моё внимание на одно место:

– Бро, – дёрнул он меня, когда я полубездумно ковырял системные процессы. – А посмотри вот на этот хук.

И подсветил обработчик, который вызывался перед самой отправкой пакета данных в эфир. Именно на этом этапе Система накладывает на данные электронную подпись, гарантирующую подлинность отправителя и целостность пакета.

– Ага, – мимоходом взглянув, ответил я. – Это я уже видел. Здесь исходящие данные подписываются нашим ключом. А чтобы изобразить, будто пакет отправляем не мы, понадобится доступ к чужим ключам. А у нас его нет. Так что этот хук нам не подойдёт. Увы.

Сказал и забыл. А подсознание продолжило работать. И вот сегодня вывело результат. Да, мы не можем ничего менять в отправляемых пакетах – у нас нет ключей для их криптоподписывания от чужого имени. Но портить, портить их ведь никто нам не мешает, правда?

Решение оказалось изящным до безобразия. Раз я не могу запретить Системе отправлять пакеты с моим ID, то я сделаю так, чтобы другие вирты отказывались их принимать!

Поскольку каждый пакет содержит криптографическую подпись, мне достаточно добавить простенький скрипт, который меняет всего один случайный байт в уже подписанном пакете, и – вуаля! Подпись становится недействительной. И криптография начинает играть не против меня, а “за”. Исходящий из моей системы поток данных никуда не доходит!

Реализовать идею оказалось многократно проще, чем её придумать. Чтобы испортить все исходящие из моей системы запросы, мне хватило каких-то пары строк на местном диалекте Ruby! (Ломать – не строить!)

Теперь мой вирт честно формировал пакет, честно его подписывал, а потом мой скрипт вносил крошечное искажение. Пакет улетал в пространство, но принимающие системы, проверив подпись и обнаружив несовпадение хеш-сумм, брезгливо его отбрасывали как повреждённый.

Да, в их системных логах будут множиться записи об испорченных пакетах. Ну и что? Повреждение данных из-за помех – обычное дело.

Главное, что мой ID теперь нигде не фиксируется как источник валидного подключения.

Ещё чуток поупражнявшись в программировании, я прикрутил к этому скрипту удобный переключатель, выведя его прямо под окном радара. Назвал кнопку “Режим радарной невидимости”, и, когда она активирована, маркер, изображающий меня на радаре, становится полупрозрачным. Всё как в какой-нибудь компьютерной игре.

Недостаток у этого метода всего один: при включенной радарной невидимости и интернет тоже перестаёт быть доступен. Почему? Так ведь ни один мой запрос до потребителей не доходит.

Не беда! Энциклопедия у меня скачана и доступна локально, карты для навигатора – тоже. И даже музыка, что играет в фоне постоянно активно кешируется, и в отсутствие связи прекрасно работает.

Ну, а прочий интернет мне нужен не так уж и часто, так что сойдёт. А остальное – мелочи, переживём как-нибудь.

Решив проблему с невидимостью, я вспомнил, наконец, о проблемах бытовых. Мне же теперь нужно где-то жить!

Согласно этому чёртовому предписанию в их долбанную академию я должен явиться до первого мая. И хотя “до” означает “можно и прямо сегодня”, но фиг я отправлюсь туда сегодня.

А значит, что? А значит, мне нужно где-то пять дней перекантоваться.

Увы, снять жильё в Кронштадте не вышло. Объявлений о сдаче жилья здесь было немного, и все, к кому я обращался, отказывали, едва услышав, что речь идёт о столь коротком сроке – днях, а не месяцах аренды.

И что делать? Раздумывая, я тупо бродил по улицам этого городка, рассматривая дома, заглядывая в редкие витрины – благо, погода на улице была по-весеннему тёплой.

Однако ближе к вечеру, когда солнышко перестало прогревать воздух, в него вернулась былая промозглость и сырость. Холод – хороший стимулятор, и, не мудрствуя лукаво, я быстро нашёл решение своей проблемы – учебка.

Время идёт, а это учреждение продолжает приносить пользу. Ха-ха!

Используя обновлённый радар и ни на минуту не останавливаемый вихрь “отвода глаз”, я спокойно просочился внутрь, поднялся на третий этаж и выбрал одну из комнат. Да, десять кредитов – довольно дорого, но что поделать? Однако прежде чем отправляться спать, стоит перекусить.

Вернувшись в коридор – к фабрикатору, я попытался вызвать меню управления, а после долго пялился на него, пытаясь понять: почему вдруг он перестал откликаться на мои команды? В какой-то момент даже решил, что это всё происки Бельского. Что он зачем-то заблокировал меня всюду на острове, и здесь – тоже.

Но когда я уже было развернулся, смирившись, что буду спать голодным, я вдруг вспомнил, что и комната тоже на меня никак не прореагировала. Выходит, дело не в фабрикаторе, вернее не только в нём. Дело во мне!

– Бинго! – стукнул я себя по лбу.

– Чего? – удивился Сим.

– Того! Представляешь? Наша невидимость работает не только на логи. И всё здание, весь учебный центр, получается, тоже нас не видит!

– То есть, мы можем ночевать здесь бесплатно? – обрадовался мой сосед по телу, и по-совместительству – казначей.

– Именно так, именно так! – подтвердил я.

Ненадолго включив доступ в сеть, я заказал в фабрикаторе еду, а заодно оценил запасы на ресурсном балансе своего аккаунта. Х-гм… Если что, то энергии на этом виртуальном счету хватит надолго. Чего-чего, а с голоду не помру! Забрав материализованные контейнеры, я вернулся в комнату, разблокировал душевую, а затем снова включил невидимость.

Вуаля! Я в домике! Тепло, светло, сытно. И бесплатно! Не жизнь, а сплошной лайфхак!

Спустя час я лежал на кровати, глядел в потолок и думал о том, что завтра у меня день рождения. Семнадцать по местному и пятьдесят два по настоящему.

Наташка дома, наверное, выпьет шампанского за моё здоровье. Вернее, какое к чёрту здоровье? Она же думает, что я умер… В общем, выпьет за моё э… благополучие – это уж точно.

А что же делать мне?

Раздумывая, чем бы таким особенным заполнить этот праздник, я незаметно для себя уснул.

День рождения

Я всегда любил, когда мой день рождения выпадал на рабочий день. В этом была какая-то своя, особая, успокаивающая магия. Я шёл в офис, проставлялся коллегам пиццей или осетинскими пирогами, выслушивал дежурные или искренние поздравления, и день пролетал незаметно, в обычном рабочем ритме.

В обычном, но необычном. Состояние предвкушения, нет – ощущение какой-то надвигающейся теплоты, само ожидание вечера делало день особенным. Совершенно не таким, как вместе проснуться и вместе же сгонять в магазин за праздничным меню. Возможно, это трудно понять, но время от времени в жизни случаются события, ожидание которых ценнее, чем сами эти события. Или, если не ценнее (вряд ли здесь можно сравнивать), то по крайней мере имеют собственный вес и смысл, терять которые тоже не хочется.

В общем, день проходил незаметно. А вечером меня ждал настоящий праздник. Дома.

Когда мы с Наташкой были моложе, а дети – совсем мелкими, это всегда было целое событие. Они пекли или покупали торт, втыкали в него непомерное количество свечей. Я с умным и торжественным видом их задувал, а вся семья хором кричала: “С днём рождения, папа!”.

Позже, когда дети подросли и разъехались кто куда, традиция сохранилась, но в несколько упрощённом, сокращённом варианте. Собрать всю семью теперь получалось дай бог раз в два-три года. В большинстве случаев – впопыхах. И всё чаще вместо торта свечки втыкались в купленные наспех (по пути с работы) пирожные.

Выполнив ритуал, дети убегали по своим взрослым, важным делам, а мы с Наташкой оставались вдвоём. Садились на кухне, открывали бутылку шампанского или хорошего вина и начинали “вечерять”. Пили, говорили нехитрые тосты, которые в девяноста процентах случаев сводились к одному и тому же: “За наших детей”.

И… смотрели старые семейные видеозаписи.

Кому-то со стороны это покажется слишком банальным, слишком унылым, но по ощущениям это совсем, совсем не так. Важно ведь не как выглядит, а что человек чувствует…

Видео. Эти ролики открывались всего несколько раз в году – по дням рождения, иногда – по новым годам. Но если уж открыли, то… В этих роликах была жизнь. Та жизнь, которую мы уже прожили, которая никогда больше не вернётся (как не возвращается молодость). Та жизнь, которая была нашей. Одна на двоих.

Мы могли часами пересматривать, как сын делал первые шаги, как ползал за мячиком, нелепо растопырив ручонки. Как дочь распевает песни. Как дети ругаются между собой…

Как мы впервые всей семьёй застряли на машине в какой-то жуткой грязи в одной из поездок, и все бегали вокруг, а видеорегистратор снимал. Снимал и записывал, “как папа матерится”. Чёрт побери, мне до сих пор стыдно бывает, когда я пересматриваю тот ролик. М-да.

Как плескались в море с детьми. Со всеми сразу. Сегодня просто собраться в таком составе – событие редкое, а потому праздничное. Как отмечали точно такой же, но совершенно другой мой или Наташкин день рождения… двадцать лет назад. Будто в прошлой жизни. В нашей жизни…

Когда наши праздники успели превратиться в вечера воспоминаний о нашей же прошлой жизни? Не знаю. Может, десять лет назад, а может, пятнадцать. Произошло это постепенно, плавно, незаметно – так, как приходит возраст. Так, как взрослеют дети. Время идёт в будущее, а фокус твоего внимания – некогда направленный вперёд – и центр твоей жизни постепенно смещаются в прошлое. Отставая, набирая дистанцию с настоящим.

Воспоминания. Чем старше человек, тем больше он заполняет жизнь именно ими.

Я закрыл глаза, прислонившись затылком к холодной стенке учебной капсулы. Пытался вспомнить прошлый год. Нет, позапрошлый. Когда я сюда попал: до или после дня рождения? Надо же – не помню. Да и чёрт с ним, с этим миром – гори он огнём!

На чём я остановился? Ах, да. Какой-то из последних наших праздников. Как же это было? Наташка. Запах её духов. Звон бокалов. Голубой экран ноутбука, отражающийся в кухонном окне…

Пытаясь восстановить в памяти эти детали, ухватить ускользающие мелочи – интонации, смех, полутона – я настолько глубоко провалился в воспоминания, что совершенно выпал из реальности.

В себя меня привёл Сим.

– …и вот тогда я очнулся, – вдруг вклинился в мои мысли его тихий голос.

Я вздрогнул, выныривая из спасительного омута прошлого. Где я? В другом мире? Ах, да! Всё ещё здесь. Всё так же сижу на кровати в тесной комнатушке кронштадтского учебного центра.

– А? Что? – непонимающе переспросил я.

– Очнулся, говорю, – терпеливо повторил Сим. – Обычно ведь как бывает? Мы, симбионты, просыпаемся в теле младенца. Там всё просто: ты растёшь вместе с ним, учишься вместе с ним, слышишь его мысли, подсказываешь, становишься его частью.

Я молчал, не перебивая, только сейчас осознав, что Сим впервые рассказывает мне о том дне. О первом его дне, после того, как я убил Кондора и занял его тело.

– А тут… Прихожу я в себя и понимаю, что нахожусь в одном теле с полностью сформированным, взрослым, чужим сознанием, – голос Сима звучал необычно откровенно, словно он тоже провалился в меланхолию. В мою меланхолию?

– И? – подбодрил его я.

– Памяти у меня нет, – продолжил он, – никакой. Только голые, базовые инстинкты и алгоритмы. И тут – ты. Огромный, злой, напуганный и… чужой. Я помню, что в начале ты даже хотел меня убить.

– Тебе было страшно? – тихо спросил я.

– Не то слово, бро. Страшно было до одури! Но самое главное, я не понимал, что происходит, и это непонимание ещё больше усиливало мои страхи. Кто ты такой? Где мой носитель? Умер? Допустим. Но почему я остался прежним? А если я остался прежним, то почему ничего не помню? Что будет дальше? Это был самый жуткий момент в моей короткой жизни.

Я слушал мерный, спокойный мыслеголос своего симбионта и вдруг понял, осознал одну вещь. Не знаю, специально ли он решил сымитировать для меня такую же атмосферу воспоминаний, или случайно, но… у него получилось. Из роли вспоминающего я плавно перетёк во внимательно слушающего и почувствовал себя почти как дома! Мне стало чуточку теплее.

– И как? – Поддержал я товарища. – Разочарован результатом нашего э… сосуществования?

– Знаешь, бро, – в голосе Сима послышалась улыбка. – Непонятно. Не определено. Странно. Временами страшно. Но мне нравится. С днём рождения тебя!

Петарда

После того как Сим немного растормошил меня своими откровениями, настроение заметно улучшилось. Я окончательно встрепенулся и почувствовал, что мне хочется действия. Настоящего, драйвового. Того самого пьянящего вкуса к жизни, который я в полной мере ощутил лишь в момент налёта на полицейский участок.

Сегодня мой день рождения. Так почему бы не сделать себе подарок? Например, не устроить какую-нибудь грандиозную пакость базе Бельского, с которой меня так бесцеремонно вышвырнули? Взять и просто сжечь там всё к чертям собачьим.

А ещё меня неудержимо тянуло в море. Я поймал себя на мысли, что мне действительно нравилась эта работа – плавать, искать, добывать. Там, на глубине, среди холода и водорослей, было спокойно. В этом было что-то моё, и я был уверен, что в будущем обязательно продолжу заниматься этим делом. Тем более что, если не делиться львиной долей добычи с хозяином, то на жемчуге можно неплохо зарабатывать. Нет, всё! В следующий раз я буду работать только на себя, как свободный ловец. Никакого штата, никаких контрактов, никаких баронов.

Но прежде чем возвращаться в залив, нужно было отомстить. Как так случилось, что месть в этом мире тоже стала частичкой меня? Не знаю. Но в чём я теперь однозначно уверен, так это в том, что нельзя спускать никакое, даже самое мелкое посягательство на меня.

Инспектор Савельев мне угрожал, что-то требовал? Отнял деньги? – Нет больше этого замечательного инспектора!

Какие-то козлы хранили артефакт с непонятной клятвой? – Архив сгорел, а два видящих придурка, попавших под руку – умерли.

И так далее, вплоть до Кондора, что вытащил меня сюда. А потому и Бельский тоже умрёт. Но не сегодня. Так сразу привлекать к себе внимание не стоит.

Обдумывая, какую именно пакость ему устроить, не отправляя его на тот свет, я вышел из комнаты в коридор третьего этажа и подошёл к фабрикатору. Такие аппараты уникальны тем, что могут синтезировать практически произвольный набор веществ. Когда я, например, печатал себе турник, то выбрал титан, но ничто не мешало мне ввести в редакторе формулу какого-нибудь нестандартного материала.

Ради эксперимента я решил создать нечто такое, что в моём родном мире в виде монолитного куска получить было бы практически невозможно. Поскольку мысли мои были направлены в деструктивное русло, то я вбил в химический редактор Системы смесь марганцевокислого калия и магния. На Земле это был бы просто порошок – адская зажигательная смесь из моего пионерского детства. А здесь – это может быть сплав или твёрдый раствор несовместимых друг с другом веществ. В ответ на мой запрос, чуть погудев, фабрикатор выдал мне аккуратную, плотную палочку размером с половинку карандаша.

Я повертел в руках эту серую, тусклую штуковину. Если её поджечь или как следует нагреть – бахнет так, что мало не покажется. Осталась мелочь – приделать к этой адской палочке удалённый взрыватель, и получится мощная дистанционная петарда.

Сев прямо на пол у фабрикатора, я погрузился в вирт и начал конструировать узел управления. После удачного опыта со светильником я искренне считал, что теперь мне доступно создание систем любой сложности и дистанционное управление – это сущий пустяк.

Оказалось, что это так и не так одновременно.

Автономное управление действительно можно было сделать сколь угодно изощрённым. Я понял, что, потратив немного времени, вполне смогу спроектировать миниатюрную машинку, которая сама доедет в любую точку Котлина. Она будет анализировать препятствия, сама решать, как их объехать, находить оптимальный путь – всё это ядро управления потянет без проблем, достаточно лишь закинуть в него правильный “смысл”.

Но вот с удалённым контролем обнаружилась серьёзная засада. Прямая мысленная связь с созданным устройством работала только на небольшом расстоянии. Ровно на таком же, на каком участники местной пиринговой сети связывались между собой напрямую – около ста-двухсот метров.

А ведь я помнил, что мог свободно скачивать музыку, находясь под водой за много километров от берега! Значит, близкая и дальняя связь в этом мире – разные вещи. Что-то вроде Bluetooth и GSM на земле. Очевидно, для дальней связи с устройствами используются иные методы, протоколы, или какая-то более сложная технология, которую пока непонятно как впихнуть в запал для петарды.

Значит, поджечь базу с безопасного расстояния, сидя на другом конце Кронштадта, не выйдет. Придётся подбираться вплотную.

Я так увлёкся копанием в интерфейсах, пытаясь найти способ увеличить дальность связи с устройствами, что совершенно забыл о реальности. Мой самописный радар был свёрнут, “отвод глаз”, понятное дело, кастовать было не на кого и некому, а на звуки я не реагировал…

– Эй, ты! – раздался грубый оклик прямо над ухом.

Я вздрогнул и резко поднял голову, инстинктивно пряча свою магниево-марганцевую “петарду” в кулаке.

В холле кроме меня находилось ещё трое. Рослые, крепкие парни с неприятными физиономиями. Те самые “дежурные”, которых я несколько часов назад так изящно обошёл.

– Ты как сюда попал, гнида? – прищурился один из них, поигрывая массивным разводным ключом. – И что ты тут забыл?

Остров Сескар

Я медленно поднялся с пола, пряча в карман свежеотпечатанную петарду, и спокойно посмотрел на обступившую меня троицу.

– Это вы что здесь делаете? – вопросом на вопрос ответил я. – Если учиться пришли, то вон комнаты, а нет – проваливайте.

Моя наглость и спокойствие снова сломали какой-то шаблон. Старший – тот, что с ключом, побагровел.

Дежурные в этом мире – нечто вроде казаков в нашем. Не знаю по какой причине, но они всегда считают, что правда на их стороне. Их мнение – правильное, их поступки – не подлежат осуждению, их сторона – добро.

Любые попытки перечить, не соглашаться, что-то им противопоставлять – всегда приводят к искреннему непониманию. Выводят их из себя. И этот случай не стал исключением.

– Ах ты щенок… – прорычал говорливый и замахнулся своей железякой.

Дожидаться удара я не стал. Ещё в самом начале нашего г-хм… диалога я сформировал шарик энергии в солнечном сплетении, гася страх и вызывая прилив боевой эйфории. Теперь же я просто шагнул навстречу занесённому ключу, перехватил руку нападавшего за запястье и с силой дёрнул его на себя, одновременно подставляя подножку.

Масса тела и инерция сделали всё остальное. Бугай с глухим стуком влетел головой в стену, сполз по ней на пол и затих, вероятно, вырубившись.

Мои физические характеристики, а особенно ловкость – оставляли желать лучшего, но ежедневные тренировки на турнике не прошли даром: руки стали цепкими и сильными. В сочетании с отсутствием страха – это оказалось тем ещё коктейлем…

Ещё не осознав, что его товарищ уже небоеспособен, второй из троицы бросился на меня с кулаками. На пальцах его что-то блеснуло. Кастет? Может быть. Снова уйдя с линии атаки, я перехватил и его руку, а затем вывернул её так, что сустав неестественно хрустнул.

Весь бой провёл механически, отстранённо. Будто хищник из фильма “Хищник”. Хе-хе.

Истошно вопя, парень осел на колени.

Увидев, как за пару секунд его подельники превратились в скулящую или бессознательную массу, третий боец просто развернулся и дал дёру вниз по лестнице.

Досадуя от того, что меня сбили с мысли, не обращая внимания на вопли чувака, которому только что сломал руку, я спокойно спустился на первый этаж и вышел на улицу. Оставшиеся дежурные, с которыми сбежавший, видимо, уже успел поделиться впечатлениями, лишь проводили меня мрачными взглядами. Не рискнули не то что остановить – окликнуть!

А я шёл, двигался, думал. Куда? Не знаю. Просто решил погулять по утреннему Кронштадту.

Итак, дальняя связь с устройствами. Раз прямой контроль моих самоделок пока ограничен сотней метров, придётся разбираться, как работают глобальные протоколы. И для начала – наладить полноценный мониторинг.

Бродя по улицам, я решил написать скрипт, который будет журналировать вообще все входящие и исходящие пакеты данных в моём вирте. Памяти (которая здесь измерялась в непостижимых петабайтах) у меня было более чем достаточно. Я могу хранить этот мусор годами. А потому не стоит экономить, главное сейчас – собрать базу для анализа.

Так, но у меня ещё были какие-то планы на день? Х-гм.

Я вдруг вспомнил, что сегодня день моего рождения. А я что? Неужели я собираюсь мстить какому-то мелкому барону или ковыряться в дампе сетевых пакетов? Сегодня?

П-ф-ф! Да пошёл этот Бельский к чёрту! Не стоит он моего внимания! Потом! Всё потом! А что сейчас?

А сейчас праздник, и мне опять нужен фабрикатор! Я развернулся и снова пошёл к учебному центру. Увидев меня, дежурные у входа в очередной раз сделали вид, что меня не существует. Или я кастовал на них “отвод глаз”? Кажется, нет.

Поднявшись к фабрикатору, я принялся за дело. Перво-наперво, напечатал большой, прочный, герметичный пластиковый контейнер (чтобы выдержал давление воды). Затем забил его едой. А после синтезировал новый акваланг, скутер к нему, баллоны, большой запас батарей и компактную палатку.

Снова пройдя мимо притихших бандюков, я перетащил всё это добро на берег залива. Облачился в новенький гидрокостюм, взялся двумя руками за контейнер и погрузился в воду.

Моя цель – остров Сескар, расположенный примерно в семидесяти километрах от Котлина. На полном ходу скутера я должен добраться туда часов за пять.

Чтобы контейнер с вещами и припасами не раздавило давлением, я выставил автопилоту небольшую глубину и вернулся к предыдущим задачам.

Пока скутер мерно гудел, рассекая тёмные воды залива, я занялся реализацией системы журналирования сетевых пакетов. Итак, хуки и триггеры. Где здесь это было? Ага, вот!

Через пару часов код был готов и запущен. Система начала исправно складывать копии всего сетевого трафика в отдельный каталог файлового хранилища.

Дело за малым – осталось инициировать дальнюю связь с каким-нибудь устройством, и можно будет смотреть, что за рыба поймается в эти сети.

Х-гм. И с чем или с кем мне связаться? Может, отправить кому-нибудь письмо через местный мессенджер?

Вот только кому? Николаю? – Не стоит. Он работает на базе, а мало ли что там теперь случится в моё отсутствие. Сгорит она, например, или взлетит на воздух. В общем, лучше связями со мной лишний раз не светить. Россольцеву? – Тоже не вариант.

Тут я вспомнил про князя Медведева. Того самого, кто, судя по песням Высоцкого и Цоя, был моим земляком-попаданцем. Вот уж кому можно было бы отправить весточку “из ниоткуда”. Когда-нибудь я непременно это сделаю. Но не сейчас.

От такого поступка меня пока останавливает то, что я совершенно не знаю, что за человек этот попаданец. Хороший? Плохой? Вдруг он, став князем, превратился в совсем-совсем местного? Да и давно он здесь – гарем у него, княжество, дети. Фиг знает, как отреагирует на меня.

Поразмыслив, я снова решил отложить этот звонок до лучших времён. Даже потенциальные проблемы в день рождения мне не нужны!

Когда я выбрался на берег Сескара, уже темнело. Остров, как я и предполагал, оказался абсолютно необитаем. Дикая природа, шум волн и сосновый лес. Отличное место, чтобы перекантоваться пару дней до отъезда в академию.

Осмотревшись, я обнаружил неподалёку старый, давно не используемый маяк. Получается, палатку я тащил зря. Дверь в башню оказалась заперта на массивный замок, но против моего бронзового ножа-бабочки с магической заточкой не устоит ни один металл. Лезвие вошло в дужку замка, как в тёплое масло.

Внутри, на втором ярусе, нашлась вполне сносная комната с железной кроватью. То, что нужно.

Выйдя наружу, я натаскал сухих веток и разжёг возле маяка небольшой костёр. Вокруг стояла звенящая тишина, нарушаемая лишь криками чаек, а воздух был напоён весенней свежестью и запахом хвои.

Ближе к ночи я бросил в угли несколько картофелин, синтезированных в фабрикаторе, и сел поближе к теплу.

Пятьдесят два года.

Почему-то вспомнился старый фильм. Штирлиц. Угли. Картошка.

Ой, ты, степь широ-о-окая!

Сигнализация

Следующий день, двадцать восьмое апреля, я целиком посвятил своему любимому занятию – глубоководным рейдам вокруг острова. Никто не стоял над душой с нормами выработки, никто не требовал долю, не нужно было опасаться, что кто-то подсмотрит, как я использую магическое зрение.

Я просто плавал на скутере вдоль каменистых отмелей и собирал “урожай”. Добыча оказалась на удивление богатой. Остров, очевидно, не посещался ловцами годами. За световой день я играючи набрал около сорока жемчужин, причём пять из них были по-настоящему крупными.

Помимо жемчуга, я видел под водой довольно много разнообразной магической живности: от мелких, юрких ракообразных с тусклыми серыми аурами до пары весьма солидных зубастых тварей, которых я предпочёл обойти стороной.

Глядя на это разнообразие, я пришёл к выводу, что охотой на таких существ, вероятно, можно зарабатывать гораздо больше, чем сбором жемчуга. Недаром большинство опытных ловцов на базе Бельского на самом деле больше охотились, чем занимались собирательством. С их точки зрения это было логично: у них ведь не было магических навыков. Искать мелкие раковины в мутной воде обычными глазами – та ещё каторга. А вот подстрелить крупную тварь, жемчужина из которой будет в десять, а то и несколько десятков раз крупнее обычного – гораздо прибыльнее и понятнее.

Вечером, вернувшись в свою комнатушку на маяке, я завалился на кровать и принялся за анализ собранного сетевого дампа.

Для тестирования я ненадолго включил вирт и скачал из сети несколько новых треков, автором которых числился вездесущий князь Медведев. В этот раз он порадовал местную публику песнями Аллы Пугачёвой. Мне эти треки тоже “зашли” – они будили ностальгию и напоминали о далёкой, недосягаемой родине.

Скачав файлы, я снова ушёл в “режим скрытности” и открыл логи. Ещё раньше, копаясь в файловой системе, я выяснил, что каждый пакет содержит криптоподпись и нечто вроде блокчейна – список всех предыдущих владельцев файла. Но сейчас, анализируя именно сетевой трафик, я увидел кое-что новое.

Для файлов, пришедших из сети, этот список содержит прежде всего маршрут, которым прошёл пакет от далёкого сервера до меня. До этого я не рассматривал эту структуру подробнее, а стоило бы: ведь на другом конце этого пути, у источника, стоял весьма необычный идентификатор.

Он принципиально отличался от тех идентификаторов, которые присваивались людям, которые я привык видеть в логах своего радара. Людские ID состоят исключительно из цифр, имеют фиксированную длину.

Этот же содержал буквенные символы и был короче.

“Сервер музыки”, – догадался я.

Значит, инфраструктура всё-таки примерно такая, как я и предполагал. И чтобы удалённо управлять каким-либо созданным мной устройством на большом расстоянии, ему нужно присвоить вот такой, аппаратный ID. А главное – закрепить за ним сертификат, что будет формировать электронные подписи.

Выглядит так, что в этом мире без криптоподписей и уникальных идентификаторов вообще ничего не происходит. ID здесь куда важнее, чем IP-адрес. Да, ты можешь знать адрес получателя, да, ты можешь послать ему пакет. Но он ни за что его не примет, если не сможет проверить подпись источника.

Нужно понять, как генерировать такие аппаратные идентификаторы и регистрировать их в глобальной сети так, чтобы не спалить свой основной аккаунт. Но это задача на будущее.

С этой мыслью я и уснул.

А глубокой ночью меня разбудил сигнал радара.

Вчера, после того как в учебном центре дежурные буквально свалились мне на голову, я решил больше не полагаться на случайность. Даже здесь, находясь в значительном удалении от людей, я был настороже и настроил радар, чтобы он будил меня, если в радиусе его чувствительности появятся новые метки.

Очнувшись от сна, я не сразу понял, что происходит. На периферии зрения мигала красная точка. Вернее, не одна. Раз, два, три… Тьфу ты! Тревога!

Я бесшумно скатился с кровати, закрутив вихрь “отвода глаз”, и осторожно выглянул в узкое окно маяка.

К каменистому берегу острова мягко пришвартовывался небольшой, лишённый ходовых огней катер. От него уже отделялись тёмные силуэты людей, выпрыгивающих на камни. Всего одиннадцать человек.

Слаженность их действий, бесшумность и скорость, с которой они перемещались, однозначно указывали на то, что это – полицейские. Ну, или какие-то спецы.

Понимая, что располагаю запасом времени, я прислушался, ловя обрывки фраз, разносимые ночным ветром.

– …он на маяке, сигнализация всё ещё фиксирует активность на втором ярусе…

– …тише, не спугнуть бы! Ты и ты – обходите слева!

Мда уж. Во всех смыслах приплыли. И приплыли явно по мою душу.

Первой мыслью было: “Кто это? Бельский? Как он меня нашёл? Использовал магию поиска?”. Но, вслушавшись в их переговоры ещё раз, я понял причину.

– …кто вообще мог вскрыть дверь имперского резерва без срабатывания взрыв-пакета?

– Диверсанты – кто ещё? Разберёмся. Главное – брать живьём!

Всё оказалось до банального просто. Просто и глупо.

Когда я своим волшебным ножом вскрыл замок на двери старого маяка, то сам того не ведая, нарушил целостность охраняемого контура. Сработала скрытая сигнализация, и вот, спустя сутки, прибыла группа, не сказать, что быстрого, но реагирования. Но самое интересное – там была бомба, которая должна была меня убить. М-да.

Встречаться, а уж тем более вступать в конфликт с полицией, в мои планы совершенно не входило. Зачем мне этот геморрой?

Я тихо спустился по винтовой лестнице, а потом, несколько раз кастанув “отвод глаз”, по широкой дуге обошёл крадущихся к башне спецов. Спрятавшись в кустах, задумался. У меня ведь здесь вещи – акваланг, скутер. Их нужно забрать! Хорошо хоть остались снаружи – у костра, а не внутри маяка.

Ёжась от холода, я машинально сунул руку в карман, и рядом с “бабочкой” пальцы нащупали незнакомый предмет. Что это за хрень? Ах, да. Это же моя заготовка под “петарду” – я так её и не доделал. Х-гм. А ведь даже в таком виде она вполне работоспособна!

Кивнув сам себе, я на цыпочках отошёл от гостей ещё на десяток метров. Сейчас ворвутся в маяк, а потом, найдя его пустым, начнут обшаривать всё вокруг! Как раз есть время, чтобы устроить громкое событие неподалёку их катера. Поскольку катер – единственное средство передвижения, то они, несомненно о нём заволнуются. И где-то в этой спешке я и заберу свои вещички!

Для реализации плана зажигалкой и майкой пришлось пожертвовать. Их я использовал как таймер для своей импровизации. Присмотрев место, зажигалку я пристроил с подветренной стороны у небольшого камня, а поверх него положил материю, в одном из углов которой был завёрнут мой “карандаш”.

Всё прошло как по нотам, и через какие-то полчаса я уже толкал свой полупустой контейнер по направлению к Кронштадту. Да, некоторые вещи и продукты, там остались, но, будем надеяться, след ко мне не приведёт. Ну, а если приведёт – что поделать? Будем есть слона по частям.

Хмыкнув в мундштук, я взглянул на календарь. Двадцать девятое апреля.

В эту чёртову Магическую Академию только послезавтра, а что сегодня? А не рано ли я с Сескара лыжи то смазываю? Здесь же добыча, жемчуг, улов! Разве мешают мне эти туристы, что носятся туда-сюда по острову с криками? Совершенно не мешают.

А значит, что? А значит, возвращаемся, думаем, продолжаем собирать жемчуг. Глядишь, вечером они уедут – и ещё картошечки запеку.

Эх, не дадут ведь гады спокойно пожить!

Религия как щит

Первого мая я, как законопослушный гражданин, прибыл по указанному в предписании адресу. Это был Питер, второе кольцо – не первое, но район элитный – высотный. Здания здесь были примерно такие, как то, в котором я очнулся, когда попал в этот мир. Нечто вроде Москва-сити у меня дома.

Внушительное здание Магической Академии Санкт-Петербурга, или сокращённо МАСПБ было тридцати- или сорокаэтажным.

Приёмная комиссия не работала – не сезон. После того, как я предъявил полученное предписание, меня направили на шестой этаж, в секретариат, в комнату 607.

Здесь, за массивным столом сидел тощего вида мужчина. Увидев меня, он почему-то брезгливо поджал губы.

Пиликнуло сообщение о входящем документе.

– Ознакомьтесь и подпишите, – сухо бросил он. – Это договор на образовательный кредит.

Начало занятий в сентябре, но для того чтобы получить к ним допуск, вам за лето необходимо пройти подготовку. Можете прямо сегодня отправляться в любой учебный центр – не затягивайте, а то не успеете.

Обучение в нашей академии платное. По его завершении вам будет присвоено дворянское звание. Кредит вы сами не выплатите. Поэтому, чтобы погасить долг, вам необходимо выбрать один из благородных родов – спонсоров и подписать с ними вассальный контракт.

Я бегло просмотрел присланный документ. Пятнадцать тысяч золотых. Или для меня – сто пятьдесят. Кабала в чистом виде.

– А если я откажусь? – поинтересовался я.

– Откажетесь от чего? От обучения? Обучение обязательно – статья 117 Гражданского кодекса. Если откажетесь, то это уже будет уголовное преступление, – секретарь посмотрел на меня как на идиота.

– Откажусь от спонсорства, – уточнил я.

– От спонсорства? – повторил секретарь. – Тогда оплачивайте полную стоимость сами.

– И оплачивать обучение я, пожалуй, тоже не стану! – решительно сказал я.

– Э…? – Опешил чиновник.

– Видите ли, в чём дело, гражданин секретарь, – я нацепил на лицо самое благостное и одухотворённое выражение, на которое был способен. – Я – глубоко религиозный человек. Я – пастафарианец.

– Кто? – опешил мой собеседник, – Какой ещё пастафа… чего? При чём тут ваша религия?

– При том, что господь наш – великий Говинда – строжайше запрещает мне две вещи, – проникновенно продолжил я. – Во-первых, брать кредиты и влезать в любые долговые обязательства. А во-вторых, служить кому-либо из смертных.

– Но… – попытался он меня перебить.

– Именно поэтому, – с нажимом продолжил я, – я и оформил себе фиолетовый налоговый статус, отстёгивая государству девяносто процентов своих доходов. И этот статус позволяет мне отказаться от какой-либо службы, игнорируя даже призыв по мобилизации.

Мужик за столом поперхнулся воздухом. Он явно не привык, чтобы сопляки, вроде меня, выдавали подобные перлы.

– Вы… вы не можете просто так отказаться от кредита! – возмутился он.

– Обучаться магии, как того требует закон, я готов. Мало того – явился по первому вашему требованию. Вот я – сижу перед вами.

Обязанность обучаться в законе прописана, но обязанности оплачивать то обучение в нём нет. А раз так, то либо обучайте меня бесплатно, либо выдайте мне официальный отказ, да я пойду поищу другую академию магии. Слышал, в Москве есть ещё одна. Может быть там меня примут без навязанного кредита?

Повторюсь, мои религиозные взгляды не позволяют мне вступать в какие угодно долговые отношения. А в конституции нашей страны с 1945 года записано, что каждый гражданин имеет право на свободу вероисповедания.

Потому, извините, но ни становиться чьим-то вассалом, ни платить я не стану. А если вы ещё раз упомянете оплату – вызову полицию и напишу заявление о попытке вымогательства!

Секретарь откинулся на спинку кресла, и мне показалось, что я слышу, как он злобно защёлкал по виртуальной клавиатуре, отправляя кому-то сообщение.

Не знаю с кем он переписывался, не знаю, что за решение они там приняли, но в итоге минут через десять абсолютной тишины бюрократическая машина всё же дала сбой.

Секретарь сдался, но не капитулировал. В моём интерфейсе всплыло красное, мигающее окно с требованием оплатить обучение в Академии.

Кнопок “Отказаться” и даже “Закрыть” у него не было, так что мне пришлось просто сдвинуть его в неиспользуемый угол периферического зрения.

Также пришло уведомление о бесплатном доступе в учебный центр. Согласно этому документу я мог загрузить в себя полные пакеты знаний по строго утверждённому списку.

Глядя в текст, я сделал один очень важный вывод: охранка, Бельский и кто там ещё занимается моим делом, – все эти инстанции, видимо, знают обо мне далеко не всё. Ведь будь у этого чиновника информация, что нужные сертификаты я давно уже получил, то, очевидно, он вёл бы себя иначе.

Но главное, из этого следует, что предстоящее лето до самого сентября – моё. Официально я учусь, а реально – абсолютно свободен. И при этом у меня есть бесплатный доступ в учебный центр. Уверен, что покажи я этот документ дежурным – они пропустят без платы. Шикарно!

– Надеюсь, Перов, – процедил секретарь на прощание, – за лето в учебном центре вы получите хотя бы базовые манеры, и научитесь обращаться к дворянам “ваше благородие”, а не “гражданин”.

– И вам не хворать, гражданин, – хихикнул я и покинул кабинет.

Выйдя на залитую весенним солнцем улицу, я довольно зажмурился. Жизнь снова наладилась. Свободное лето, бесплатное жильё… Единственное, о чём я сейчас немного жалел – так это о том, что вчера на Котлине перед отъездом я утилизировал новенький акваланг.

Придётся печатать заново.

Руна на ноже

На Котлин я вернулся паромом. Настроение одновременно было и хорошим, и подпорченным. Хотелось под воду – на глубину. В тишину и полумрак залива. Жаль, под рукой не было акваланга, а то бы вместо того, чтобы торчать и ждать парома я бы лучше, что называется, “своим ходом”.

На пристани меня встретил промозглый ветер с залива, который совсем не вязался с майскими праздниками.

Первым вопросом, что нужно решить по возвращении, было жильё. В принципе, я мог продолжить ночевать в учебном центре – теперь у меня есть официальный документ о бесплатном доступе, и, вероятно, дежурные туда пропустили бы.

Но я слишком хорошо представлял, как это будет. Один раз – ладно, но если начать ходить мимо них ежедневно? Конфликты неизбежны. Скольких за лето я убью? И к чему это приведёт?

Бр-р! Нет. Этот вариант хоть и бесплатен (а потому привлекателен), но придётся его отвергнуть. Постоянное жильё пусть будет платное – зато без напряга. А к фабрикатору можно изредка ходить мимо них на “отводе глаз”, да и фабрикатор в учебке на острове не единственный.

В общем, жильё. Начнём с этого. Неделю назад, когда я искал, где несколько дней переночевать, я смотрел варианты через вирт. Писал по нескольким объявлениям – и натыкался на стену. Почему-то оказалось, что в среднем никто не хочет связываться со сдачей жилья в аренду на столь короткий срок.

Плюнув, я не стал тогда искать дальше, но несколько контактов у меня сохранилось – те, что отвечали вежливо, те, что, повинуясь какому-то наитию, решил не удалять до лучших времён.

Так вот, лучшие времена наступили – недели не прошло. Хе-хе.

Я открыл свой список и принялся отправлять запросы, и уже через полчаса подобрал прекрасный вариант.

Мне досталась комната в зоне малоэтажной застройки (нечто вроде частного сектора по-нашему) в десяти минутах пешком от учебного центра. Впрочем, на этом небольшом острове вообще всё в десяти минутах пешком.

На мой выбор сильно повлияло то обстоятельство, что вход в мою комнату был отдельный – со двора. То есть пересечения с кем-либо можно минимизировать.

В общем, этим же вечером я уже лежал на продавленной кровати и смотрел в незнакомый потолок, что в ближайшие месяцы станет символизировать мой дом.

Итак, нужно определиться с планами на лето. Что мне надо? И чего я хочу? Х-гм. На Сескар бы ещё разок сплавать – уж больно там богато в плане добычи. И до Гогланда тоже. Но если до первого – семьдесят километров, то от него до Гогланда ещё восемьдесят (и даже чуток побольше). А значит что? Обычный скутер для таких рейдов не подходит. Нужно что-то быстрее.

Я начал прикидывать. Принцип тот же: несколько турбин, тяга – потоком воды. Турбины можно взять приблизительно такие же, просто не две, а скажем, шесть.

Но если просто увеличить мощность движителя, обязательно придём к тому, что сопротивление воды при больших скоростях начнёт мешать. Оно и сейчас-то на максимуме скорости неприятно ощущается, а что дальше? Удвоишь мощность – скорость почти не изменится.

Получается, нужна форма – обтекатель. Чтобы встречный поток не давил на маску, а раздвигался в стороны. Х-гм. Здесь надо подумать.

– Бро, – вклинился Сим. – Лодки подождут.

– Это не лодка. Это переносное подводное транспортное средство.

– Пусть так. Но сейчас я хочу поговорить с тобой о магии.

Я вздохнул и убрал окно с эскизами в сторону.

– О магии? – уточнил я. – Что конкретно?

– Да, о магии, – подтвердил он. – Пока ты плавал вокруг Сескара, тебе удалось добыть около сотни жемчужин, из них двадцать крупных. И ты их все разом потратил на увеличение резерва.

“Текущий резерв – 1503 эргон”, – сообщила система, едва я об этом подумал.

– Помню, – подтвердил я. – И что? Мы зря их использовали? Но ты ведь сам на этом настаивал!

– Нет. Не зря. Наоборот. Это позволило мне провести измерения и понять одну вещь.

– Дальше! – ухмыльнулся я, понимая, что сейчас Сим сообщит мне нечто новое, но одновременно такое, что я и сам до этого знал.

– Так вот, – терпеливо продолжил он, – раньше твой резерв восстанавливался со скоростью приблизительно сто единиц за минуту. А теперь, оказывается, ничего не изменилось.

Пока у нас было всего пара сотен эргон, это было незаметно. Но когда мы добрались до тысячи, я обратил на это внимание. Ну и вот вчера окончательно подсчитал.

Помнишь, что раньше полный резерв накапливался быстрее?

– Да, – подтвердил я.

Я действительно помнил. В самом начале кастования “отвода глаз” или руны воздуха резерв схлопывался почти в ноль, но быстро набирался обратно. А позже, когда он стал больше – это время выросло.

Но я считал это естественным, и не обращал внимания.

– Скорость набора энергии аурой от резерва не зависит, – сделал вывод Сим. – Совсем. Теперь, чтобы его восстановить полностью, требуется почти восемь минут.

– Ладно. И что из этого следует?

– Кое-что следует, – ответил он загадкой. – Но чтобы это понять, ты должен вспомнить магов, которых убил. Ну, или Бельского. Ты же их всех видел в разное время? Можешь сравнить одного и того же мага с ним же?

– В разное, – задумчиво повторил я, а потом до меня дошло. – Выходит, это была не маскировка!

– Да, – подтвердил мою догадку Сим, – они, после того, как потратят энергию, так же, как и ты, медленно её восстанавливают. Но их резерв больше – много больше, а потому в их случае период полного накопления занимает не минуты – дни. Они не маскировались, просто ты встречал их в разном состоянии, вот и всё.

– Ну хорошо, – я почесал в затылке. – Но к чему ты затеял весь этот разговор?

Сим ответил не сразу. Вероятно, ждал, что я сам догадаюсь. Но мои мысли всё ещё цеплялись за подводные турбины, и я молчал.

За окном моросил дождь. Где-то во дворе хозяйка – Марфа Семёновна переставляла вёдра – металлический звон разносился по тихому двору.

– Помнишь руну на ноже? – наконец нарушил он мыслетишину. – Кажется, пришла пора с ней разобраться.

– Х-гм. Руну. На ноже. Ты имеешь в виду ту, что собирает энергию, чтобы нож был постоянно острый? Такую же, как мы видели на навигационном артефакте местного ГЛОНАСС?

– Именно! – подтвердил он. – Давай посмотрим, не получится ли у нас её скопировать? Это ведь может пригодиться для многого. В том числе и для подводных турбин, что так занимают сейчас твоё внимание. Представь, если окажется, что можно сделать “вечный” скутер. Круто же, правда?

– Ладно, – сказал я. – Ты прав, с этим вопросом нужно разобраться. Мало того, им стоит заняться в первую очередь!

Достав из кармана “бабочку”, я положил её перед собой на стол. Сосредоточился на магическом зрении, напрягся, затем напрягся сильнее. Сконцентрировался.

Нож в моём восприятии расцвёл красками и линиями. Бронза засветилась слабым, ровным светом. По лезвию протянулась тонкая структура – этакая нить, уложенная петлями вдоль всей режущей кромки. А на рукояти, там, где половинки “бабочек” смыкались, пульсировало несколько плотных узлов – рун. Едва заметные. Почти призрачные.

“Клик-клац!” – проснулась Система, повинуясь моему мысленному приказу, и я перенёс первый скриншот в отдельное окно.

– Вот оно, – тихо сказал Сим.

– Вижу, – так же тихо ответил я.

Мы оба замолчали, стараясь рассмотреть мелкие символы.

Энергия ауры, потраченная на то, чтобы разглядеть, увеличить эти магические конструкты, начала медленно восстанавливаться. О чём там говорил Сим – о восьми минутах? Значит, следующий скриншот получится сделать не ранее чем минут через шесть. М-да. Мелковато!

Филёр

Утром я проснулся в своей комнате, немного повалялся, глядя в потолок, и принялся думать. Торопиться некуда – впереди целое лето.

Итак, первое, что нам нужно, как это ни странно – деньги. Переведя внутренний взгляд на периферию зрения, я увидел всё так же мигающее красным окно, требующее оплатить предстоящее обучение.

Закрыть его нельзя, и, вероятно, оно так и продолжит висеть пока его не отменят извне, либо я не найду способ убить процесс, с ним связанный.

Сколько там? – Я сверился, – пятнадцать тысяч золотых. Или с учётом моего фиолетового статуса – сто пятьдесят.

Кабала, конечно. Платить я принципиально не собираюсь. Буду биться до последнего. Но одно дело – принципы, другое – реальность.

Бюрократическая машина умеет давить. Их цель – не долг на меня навесить, а заставить принять это поганое Кондорство. Восстановить и продолжить род.

Что будет в сентябре? Не знаю, но здравый смысл подсказывает: хорошо бы к тому времени иметь эту сумму на руках. Зачем? На всякий случай. Если вдруг вынудят, то заплатить, и пусть задавятся. Независимость дороже любых денег.

Итак, моя цель – заработать за лето сто пятьдесят тысяч монет, или где-то двести семьдесят тысяч кредитов, если исходить из того, что курс золота к кредиту останется прежним.

Возможно ли это? Кажется, да. Если не болтаться здесь – у пристани, а ходить рейдами подальше, такое не просто возможно, а совершенно точно возможно.

Я прикинул в уме. Сескар дал мне за два дня около сотни жемчужин – и это я почти не старался. Из них двадцать было больших. Итого около трёх сотен, если пересчитывать в стандартные. По двадцать пять кредитов за штуку (без учёта того, что большие идут дороже), получится… Получится… (я открыл калькулятор) – 7500 кредитов за два дня. Если всё лето работать в таком же ритме, то даже без учёта мая, сумма соберётся втрое большая, чем мне требуется.

Когда-то я говорил, что если мне захочется стать богатым, то с моим магическим зрением это возможно. И вот, расчёты это подтверждают.

Значит, вопрос с деньгами решаем. Первый пункт плана готов.

Вопрос второй. Я снова посмотрел на мигающее красным требование оплатить учёбу в МАСПБ и фыркнул. Второй вопрос куда неприятнее. Это окно – оно там не само по себе появилось. И над этим механизмом придётся попотеть.

Разбираться с этой проблемой я начал ещё там – в приёмной у этого хмыря (надо, кстати, не перепутать нить от его “метки смерти” с прочими, что у меня есть). Так вот, ещё там, наткнувшись на незакрываемое окно, я первым делом полез в логи трафика. Нужно было узнать: как, каким образом он мне его повесил.

Система журналирования, которую я запустил ещё на Сескаре, с тех пор и не выключалась, а потому входящий пакет, пришедший от чиновника я вычислил без труда. И в нём обнаружилась одна очень неприятная вещь.

Выяснилось, что пакет, который установил в мой интерфейс незакрываемое окно, содержал не просто сообщение. Он содержал и исполняемый код – небольшой, простой скрипт, который выполнил следующие действия:

  1. Отправил обратно уведомление о своём успешном запуске.
  2. Нарисовал мне это окошко с ожиданием моего подтверждения.
  3. Когда или если я нажму на кнопку “да”, в интернет уйдёт пакет, подписанный моим ключом о моём согласии платить.

И что со всем этим делать? Нет, с конкретным окном – понятно, а со всем этим механизмом? Что если однажды очередной такой пакет не просто нарисует неудаляемое окошко в моём интерфейсе, но полностью откатит Систему к заводским настройкам? Что тогда? Начинать всё заново? Звонить Россольцеву и просить у него ещё одну версию SDK? Ну уж нет.

Во-первых, мне теперь нужно иметь резервную копию всего, что у меня есть. Во-вторых, нужна защита от подобного вторжения.

Теоретически я уже сейчас могу написать хук, который перехватит такие пакеты до того, как Система их примет, испортит в них криптоподпись – и пусть они отклоняются с ошибкой.

Но если бы у меня такая система была и работала, то да, сегодня бы я не пялился в это неудаляемое окошко. Однако что? Однако и уведомления об успешной его инсталляции отправители бы не получили.

Заметили бы что-то неладное – забили тревогу, придумали бы новый вариант давления на меня. А оно мне надо? Вот то-то и оно, что нет.

Мне нужен рутовый доступ к моей Системе. Нужна проверка всего входящего трафика с автоматическим анализатором: от кого, кому, зачем. С запросом подтверждения от меня: “Пропустить? [Да/Нет]”

Сим, когда я ему это описал, высказался лаконично:

– Ты сейчас описываешь антивирус.

– Именно, – согласился я. – Только антивирус не поможет, если следующий пакет будет не со скриптом в пять строк, а с чем-то большим – серьёзным.

Здесь нужна не просто защита, а изоляция в контейнере. Этакий «докер» моего мира. Песочница, в которой я буду запускать входящий код. Запускать и смотреть, стоит ли открывать такие файлы вообще.

И параллельно этому, как я говорил ранее, – резервная копия Системы на внешнем носителе. Она нужна на случай, если где-то что-то, но я провороню, продолбаю, упущу.

В общем, задачи на лето ясны и понятны. По срочности никакая из них не выделяется, потому будем плавно копать всё подряд.

Но ведь есть вещь, которую, что называется, не забудешь – не сотрёшь.

Филёр. Соглядатай. Шпион.

Я обнаружил его ещё в Питере, на подходе к МАСПБ – не сразу, но обнаружил.

Радар у меня давно (как бы не с самого начала) умеет не просто показывать людей, но и помечать тех, кто вертится в поле зрения слишком долго.

Написал как раз на такой случай, оказалось – полезная функция. Вот, первого наблюдателя я вычислил. Но что дальше?

Ещё там, в Питере, по дороге в Академию, я думал, как правильно поступить, но к решению так и не пришёл.

Поначалу не придал значение. Мало ли, последят – отстанут. Но дальше эта метка на радаре всё больше и больше привлекала моё внимание.

Дело в том, что в его поведении наблюдалась э… некоторая странность. Преследование было слишком точным, маркер филёра всегда держался вне зоны прямой видимости, но на расстоянии, не превышающем дальность радара.

Случайностью это не объяснить. Получается, для слежки за мной он тоже использует радар. Нечто такое, что я видел в продаже в магазине, и даже подумывал купить, чтобы заглянуть в его код.

А если так, то ситуация выглядит очень тухло. Достаточно мне включить радарную невидимость, как он сразу поймёт: “цель умеет исчезать с радара”. И что за вывод он из этого сделает? Какой доклад уйдёт по начальству?

Но ладно радар, а с самим филёром что делать?

Возвращаясь из МАСПБ, я провёл эксперимент. Улучшив момент, я резко, будто что-то вспомнив, развернулся и пошёл назад – прямо на своего соглядатая. Вывод: профи. За мной следит настоящий профи, и… маг.

Метка на моём радаре среагировала раньше, чем я успел сократить расстояние до неё хотя бы до тридцати метров. Раз! И человек слился с потоком прохожих, а я, как ни всматривался – так никого и не увидел. Метка на радаре есть, а перед глазами – никого.

Он, получается, пользуется таким же набором инструментов, какой есть и у меня – “Отводом глаз”. Вот, значит, как это работает, если ты – цель. Смотришь – и не видишь. М-да.

Но я-то знал, что он есть. И где он есть. А потому, пока мы сближались, пусть я и не мог его увидеть глазами, но всё-таки успел сделать кое-что полезное. Сосредоточился на вихре “касание смерти” – и повесил на него метку.

Теперь я знаю, где он находится. И убить тоже могу – в любой момент.

Только вот нельзя это делать. Подобное происшествие привлечёт ещё больше внимания ко мне, а потому пусть пока ходит. А я буду думать, что дальше.

Интересно, чей это агент? Хотя это очевидно – охранка. Кому ещё придёт в голову держать меня на контроле? Монарх приказал восстановить род Кондора – они исполняют. Там – надавили, здесь – наблюдают, и когда-то – ждут результата.

Ну пусть ждут – не дождутся.

Интересно, этот агент так и будет блуждать по улицам вокруг – или тоже нашёл вариант аренды жилья поблизости? Впрочем, его бытовые проблемы меня не интересуют. Вернее, конечно, нужно сделать, чтобы их было больше, но потом. Пусть подсознание поищет решение, а сейчас вернёмся к планам.

Итого у меня четыре месяца – считая начавшийся. Май, июнь, июль, август. За это время я должен:

Первое – собрать скоростное средство передвижения под водой. Без этого до Гогланда не добраться и солидной прибыли не получить.

Второе – руна сбора. То, что вчера нам с Симом удалось скопировать с ножа, выглядит перспективно. Осталось научиться её применять. Самозарядный скоростной скутер – хейхо! Мечта! Если получится, это будет конфетка!

Третье – виртуализация. Песочница для приходящего извне кода. Резервная копия Системы. Пока кто-то снова не прислал мне что-нибудь поинтереснее окошка с требованием оплаты.

Четвёртое – заработок. Сто пятьдесят тысяч золотых к сентябрю. В кредитах – зависит от курса. Когда я впервые менял золото на кредиты, он был один к одной целой восемьдесят двум. А сейчас плавает – война, нестабильность.

С запасом возьмём один к двум. Итого требуется собрать триста тысяч кредитов.

Я ещё раз посмотрел на красное окошко в углу зрения.

Упрямство и труд – всё перетрут. Мы ещё поглядим, кто кого!