Добавить в цитаты Настройки чтения

Страница 14 из 20



Мне никак не удавалось нащупать правильный, а главное безопасный путь слома защиты. Причем я чувствовал, что, хоть все тут и сложно накручено, но нет некоей целостности, что ли… Как бы это объяснить-то… Во! Сообразил! Если смотреть на программу, которую пишут несколько человек, то на первый взгляд кажется, что код странный, неправильный, неровный, косячный — в конце концов, и часто действительно встречаются нестыковки, похожие задачи выполняются совершенно разными способами. Вот о какой целостности я говорю. Ну, конечно, я не беру в рассмотрение код, написанный серьезно с учетом общих практик, правил. Там такое реже встречается. Вот и здесь было что-то подобное. Причем в данном случае такая «неровность» реально сбивала с толку. Только покажется, что вся картина становится понятнее, как бац! Очередной поворот…

Тогда, после уж не помню скольких перерывов на сон, я решил подойти к проблеме с другой стороны. И, как оказалось, именно таким образом я должен был сразу поступить, ибо пришедшая мне мысль напрашивалась сама собой. Я вдруг подумал, что та масса независимых плетений от датчиков просто физически не может уходить далеко. Или «центр управления» всей этой гадостью расположен где-то рядом, или есть какой-то промежуточный управляющий модуль. Я не стал откладывать дело в долгий ящик и, проследив первое попавшееся плетение за пределы комнаты с помощью инфозрения, обнаружил его. Уй, наворочено! — вот первая мысль, посетившая меня в начале анализа этого дивного чуда. Но уже через пару часов, как только начала вырисовываться довольно примитивная схема работы этого плетения, стало понятно: ничего сверхсложного. Навороченность — лишь результат многократного дублирования логических модулей. Я уже прикидывал, где и какие фрагменты развеять, что бы парализовать его работу, но тут мне повезло. Я обнаружил небольшое, слабоактивное плетение — отвод, ведущий на чердак, а там — необычный дополнительный модуль. Сначала мне даже показалось, что это работа неких местных хакеров, подключившихся в существующую систему защиты, но позднее разобравшись, я понял, что это не так, а всего лишь логическое развитие местной паранойи. Это был модуль дистанционного управления, подключенный к амулету связи. Вернее сказать, не то чтобы подключенный. Местные гении не придумали ничего лучше, как обеспечить акустическую связь между амулетом связи и модулем, который я назвал «звуковой интерфейс», поместив их в специальную камеру внутри одной из опор крыши. Надо сказать этот модуль меня удивил. В отличие от абсолютного большинства плетений, встреченных мной до этого, легко разделявшихся на более мелкие стандартные модули, этот был единым целым. Невероятно сложный и в тоже время не являвшийся массой бессмысленных соединений, как многие местные плетения. Тут чувствовалась рука мастера, превосходившего меня как минимум на порядок. Ну, или использовавшего мощный компьютер с хорошо отлаженной моделью магии… Среди местных поделок он выглядел чужеродно, как компьютерная плата в ламповом приемнике. Понятно, что местные просто откуда-то скопировали модуль, слабо представляя его работу. Оттого и акустическая связь. Но местным надо отдать должное, сам я без помощи Умника или биокомпа не рискнул бы взяться даже за копирование.

Создав модель этого модуля в своем виртуальном отладчике, на что у меня ушел не один час, несмотря на помощь биокомпа, а может именно благодаря ему (как посмотреть), я углубился в его исследование, сводившегося к перебору слов и выслушиванию ответов. Я был уверен, что обратная связь именно акустическая, ведь зачем-то есть в модуле «динамик»? Подбирать команды решил на языке Дронта, справедливо предположив, кто мог быть создателем, и надеясь, что он сделал себе бэк-дор. Пусть модуль построен не на инфомагии, но стиль уж как-то сильно отличается от всего, что я видел, и наводит на вполне определенные мысли об изначальном создателе. Минут через пятнадцать перебора слов я понял, что был прав и не прав: на некоторые слова последовала реакция модуля, что, в общем-то, было большим чудом. Или же результатом похожести структурного, ситуационного или логического мышления атлов и нас, землян. А вот насчет бэк-дора я был не совсем прав, это был не он, местные просто не заблокировали технологический тестовый вход. Ну, это не удивительно: как выяснилось чуть позднее, для его блокировки надо было указать — не произнести, а именно указать — «слово конфигурации». Понятия не имею, что это такое и как и кому его указывать. Но в данном случае это сыграло мне на руку.

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

Разобравшись со всем этим, я создал в камере, где находился настоящий модуль, свой «динамик», передававший туда мои слова, и «микрофон», передававший ответ. В целом, местные маги перехитрили сами себя: установили мощный модуль, предполагая, что сложность его реализации и работы является своего рода защитой от взлома (если вообще что-то подобное предполагали), а ведь история учит, что закрытость кода еще не гарантирует его надежности. Хм… Ну, да… Это наша история учит. Ладно, у них все еще впереди.

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

Очнулся я как раз к началу кормления. Странно: судя по развернувшимся лежанкам, прошло немало времени. Что, я совсем отключился? Получив свою порцию жратвы и дождавшись ухода что-то напевающего себе под нос Гоблина, я развернул наши с Кариной лежанки друг к другу. М-да… Девушка выглядела еще хуже, чем раньше. С замученным выражением лица Карина вопросительно глянула на меня.



— Я готов. В любой момент могу выключить защиту. Уходить, думаю, лучше всего ночью.

Карина прикрыла глаза и долго молчала. Потом тихо пробормотала:

— Свобода… Свобода… Гарцо, ты слышишь, свобода! — девушка вдруг задергалась в своих кандалах. Я с беспокойством наблюдал за ней. Ничего поделать я не мог. Она должна сама справиться. Стоп! Гарцо?

— Гарцо?

— Я не брошу его! — Карина умоляюще посмотрела на меня.

— Ты понимаешь, что вероятность успешного побега в таком случае резко стремиться к нулю? — я с любопытством смотрел на девушку, на ее попытки решить сложную дилемму. Мне-то, в принципе, все равно. Что одного человека транспортировать, что двоих — троих уже не потяну, наверно. Особенно с учетом того, что инфосеть мне пока не доступна в полном объеме. Уже на секунду-другую получалось выйти туда, но очень быстро биокомп начинал вопить о перегрузе, и приходилось выскакивать. Хотя, по моим ощущениям, прошло много больше двух недель, отпущенных мне биокомпом. Так что рассчитывать пока приходилось только на себя.