Нахмурившись, Кира обвела взглядом затемненный салон. Большинство пассажиров собирались спать или начинали смотреть фильмы. Протянув руку, она закатала левый рукав рубашки. К плечу все еще была приклеена ватно-марлевая повязка. Оттянув ее, она повернулась так, чтобы старший аналитик смог увидеть руку, закрывая ее своим телом от посторонних взглядов через проход.
Джонатан посмотрел на рваную рану поперек плеча девушки. Вне всякого сомнения, она потеряла часть мышцы, и на месте раны останется уродливый шрам. Наклонив голову, он взглянул внимательнее:
– Пуля калибра семь – шестьдесят два?
– Угадали, – ответила Кира, прикрепляя повязку на место и опуская рукав.
– Распространенный калибр, характерный для южноамериканских военных, – сказал он. – Повезло вам.
– Угу, еще как! – ответила Кира. – Бывали раньше в Пекине?
«Ну пожалуйста, хватит».
Он помолчал, словно размышляя, удовлетворить ли ее невысказанное желание.
– Увы, нет, – наконец сказал он. – Было бы очень хорошо, если бы кто-то из нас побывал там раньше. Мне говорили, в этом городе тяжело ориентироваться.
– Не проблема, – ответила Кира.
– Оптимистка.
– Если не сумеем найти дорогу в чужом городе без карты, значит мы работаем не на ту контору, – сказала она.
К ее удивлению, Джонатан наконец улыбнулся.
Информационный оперативный центр ЦРУ
Уивер поставил банку с содовой на безопасном расстоянии от клавиатуры – уже не одно электронное устройство стало жертвой газированных напитков – и снова переключил внимание на монитор. В помещении стояла мертвая тишина, не считая гудения серверных вентиляторов, смонтированных под столом. Он был предоставлен самому себе, и ему это нравилось. Не так-то просто перевести шестнадцатеричный код на язык ассемблера, когда тебя отвлекают другие аналитики, болтающие в коридоре.
Дизассемблирование скомпилированной компьютерной программы считалось самой трудной задачей для программиста. По сравнению с ним написание программ, даже весьма сложных, казалось детской игрой. Программист мог использовать любой из десятков языков, которые облегчали жизнь кодировщикам, позволяя им использовать английские слова (которые назывались «исходным кодом») вместо того, чтобы вынуждать их пользоваться одними лишь числами, которые на самом деле только и понимали компьютеры. Английские команды преобразовывались в эти числа с помощью компилятора, игравшего роль одностороннего переводчика.
Искусство дизассемблирования заключалось в том, чтобы превратить числа снова в английские команды, не имея в качестве руководства исходного кода, – это было похоже на попытки перевести египетские иероглифы, не имея в своем распоряжении Розеттского камня. Люди использовали для счета десятеричную систему, где числа шли в порядке 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. Но дальше ему приходилось смотреть на числа и пытаться перевести их обратно в исходный код, выполнявший те же самые функции.
В частном секторе хорошо платили тем немногим, кто мог дизассемблировать программы. Их опыт был полезен любой компании, стремившейся похитить коммерческие секреты конкурента, а Уиверу вполне хватало одержимости для подобного ремесла. Он мог бы зарабатывать вдвое больше, чем ему платили на госслужбе. «Майкрософт» и «Гугл» делали ему щедрые предложения, но патриотическая жилка удерживала его на правительственной службе. Уивер полагал, что смог бы сколотить неплохое состояние, занимаясь промышленным шпионажем, но он мог заниматься тем же самым здесь, не имея проблем с законом. Если бы Уивер не накачивался кофе, который среди программистов считался эликсиром жизни, он давно бы уже спал сном праведника.
В программе, которую принесли ему из «Красной ячейки», не было ничего замысловатого. Писавшие ее китайские кодировщики обладали опытом, но не вдохновением. Искусству программирования свойственно естественное изящество, но лучшие алгоритмы превращались из простых строчек кода в нечто прекрасное, где каждый модуль работал в идеальной гармонии с другим. В строках кода, которые всю ночь реконструировал Уивер, не было ничего даже близкого к этому, что стало для него как благословением, так и проклятием. Они почти предсказуемо превращались в ассемблерный код, но процесс стал весьма нудным, что нисколько не помогало Уиверу, учитывая, что было уже далеко за полночь.