Чтение онлайн

на главную

Жанры

Шпионские игры
Шрифт:

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

— Пуля калибра семь — шестьдесят два?

— Угадали, — ответила Кира, прикрепляя повязку на место и опуская рукав.

— Распространенный калибр, характерный для южноамериканских военных, — сказал он. — Повезло вам.

— Угу, еще как! — ответила Кира. — Бывали раньше в Пекине?

«Ну пожалуйста, хватит».

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

— Увы, нет, — наконец сказал он. — Было бы очень хорошо, если бы кто-то из нас побывал там раньше. Мне говорили, в этом городе тяжело ориентироваться.

— Не проблема, — ответила Кира.

— Оптимистка.

— Если не сумеем найти дорогу в чужом городе без карты, значит мы работаем не на ту контору, — сказала она.

К ее удивлению, Джонатан наконец улыбнулся.

Информационный оперативный центр ЦРУ

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

Дизассемблирование скомпилированной компьютерной программы считалось самой трудной задачей для программиста. По сравнению с ним написание программ, даже весьма сложных, казалось детской игрой. Программист мог использовать любой из десятков языков, которые облегчали жизнь кодировщикам, позволяя им использовать английские слова (которые назывались «исходным кодом») вместо того, чтобы вынуждать их пользоваться одними лишь числами, которые на самом деле только и понимали компьютеры. Английские команды преобразовывались в эти числа с помощью компилятора, игравшего роль одностороннего переводчика.

Искусство дизассемблирования заключалось в том, чтобы превратить числа снова в английские команды, не имея в качестве руководства исходного кода, — это было похоже на попытки перевести египетские иероглифы, не имея в своем распоряжении Розеттского камня. Люди использовали для счета десятеричную систему, где числа шли в порядке 0-1-2-3-4-5-6-7-8-9, прежде чем добавлялась вторая цифра и получалось 10. Компьютеры считали в восьмибитной двоичной системе, с последовательностью чисел 00000000-00000001-00000010-00000011, и так до бесконечности. Но в потоках нулей и единиц было легко ошибиться, к тому же занятие это было настолько утомительным, что не могли помочь ни кока-кола, ни кофе. Поэтому Уивер использовал декомпилятор, переводивший двоичные числа в шестнадцатеричные — с основанием шестнадцать. По крайней мере, он хотя бы мог думать в шестнадцатеричной системе, где числа шли в порядке 0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f. Но дальше ему приходилось смотреть на числа и пытаться перевести их обратно в исходный код, выполнявший те же самые функции.

В частном секторе хорошо платили тем немногим, кто мог дизассемблировать программы. Их опыт был полезен любой компании, стремившейся похитить коммерческие секреты конкурента, а Уиверу вполне хватало одержимости для подобного ремесла. Он мог бы зарабатывать вдвое больше, чем ему платили на госслужбе. «Майкрософт» и «Гугл» делали ему щедрые предложения, но патриотическая жилка удерживала его на правительственной службе. Уивер полагал, что смог бы сколотить неплохое состояние, занимаясь промышленным шпионажем, но он мог заниматься тем же самым здесь, не имея проблем с законом. Если бы Уивер не накачивался кофе, который среди программистов считался эликсиром жизни, он давно бы уже спал сном праведника.

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

Алгоритм, который Уивер извлек из китайской программы автоматизированного проектирования, оказался более длинным, чем он ожидал, и более сложным, чем могло бы следовать из его размера. В МТИ от Уивера требовалось пройти вводный курс дифференциальных уравнений, и он получил лишь среднюю оценку, так что ему понадобился почти час, чтобы понять, что алгоритм имеет к ним непосредственное отношение. Уивер позаимствовал учебники у коллеги (свои он продал в колледже несколько часов спустя после последнего экзамена), но они ничем ему не помогли. Он подумал, что, поскольку алгоритм интегрирован в программу САПР, книги по общей математической теории мало чем помогут. Куда больше подошли бы пособия по геометрии, машиностроению или, может быть, физике.

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

В конце концов он попросил аналитика из ОТЛАА помочь ему опознать соответствующие иероглифы в интерфейсе программы. Аналитик потратила час на поиски в них китайских иероглифических ключей, прежде чем поняла, что вряд ли они найдутся в стандартном словаре. Вскоре они обнаружились в словаре техническом — «хэнцземянь». Буквальный перевод звучал как… «поперечное сечение»? Для Уивера он не имел никакого смысла. Да, инженеры-машиностроители использовали программы САПР для создания чертежей в разрезе, но какая тут связь с математической формулой, результат которой зависел от изменения формы объекта, но не его размеров?

Будь даже у него под рукой исходный код, вполне вероятно, что он не смог бы понять, о чем должны говорить данные математические расчеты. Одно дело — знать, что данный участок кода рассчитывает Е = mc2. Другое — что данная конкретная формула объясняет, почему ничто не может двигаться быстрее скорости света. Этот китайский алгоритм обещал оказаться намного сложнее, чем простая формула Эйнштейна. Но Уивер не собирался сдаваться. Определить назначение уравнения стало для него предметом профессиональной гордости. Обед со Страйкер должен был стать лишь наградой. Она была одним из немногих встреченных им за последнее время сотрудников РД, которые не замкнулись в себе. Кроме того, она умела писать программы и к тому же была весьма симпатичной, так что его усилия того стоили.

Популярные книги

Измена. Я отомщу тебе, предатель

Вин Аманда
1. Измены
Любовные романы:
современные любовные романы
5.75
рейтинг книги
Измена. Я отомщу тебе, предатель

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Ученик. Книга третья

Первухин Андрей Евгеньевич
3. Ученик
Фантастика:
фэнтези
7.64
рейтинг книги
Ученик. Книга третья

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

Sos! Мой босс кровосос!

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Sos! Мой босс кровосос!

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Измена. Ребёнок от бывшего мужа

Стар Дана
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Ребёнок от бывшего мужа

Возвращение Низвергнутого

Михайлов Дем Алексеевич
5. Изгой
Фантастика:
фэнтези
9.40
рейтинг книги
Возвращение Низвергнутого

Мимик нового Мира 7

Северный Лис
6. Мимик!
Фантастика:
юмористическое фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 7

Я тебя верну

Вечная Ольга
2. Сага о подсолнухах
Любовные романы:
современные любовные романы
эро литература
5.50
рейтинг книги
Я тебя верну

Сумеречный стрелок 6

Карелин Сергей Витальевич
6. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 6

Сумеречный стрелок 8

Карелин Сергей Витальевич
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Сумеречный стрелок 8

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3