Оставался один нюанс, который, тем не менее, вполне мог похоронить всю ее работу: количество файлов в архиве изменилось. А, значит, изменилась и фактическая контрольная сумма, тогда как проверочная контрольная сумма осталась старой. Фактическая контрольная сумма высчитывалась, исходя из наличествующих на кубе файлов и введенного пароля. Путем "нехитрых математических вычислений", от которых у нее в другое время волосы встали бы дыбом, Аня рассчитала, какой должна быть фактическая контрольная сумма при нужном ей количестве файлов в кубе, то есть с учетом программы-шпиона, и при выдуманном ей пароле.
Оставалось всего ничего: сделать так, чтобы проверочная и фактическая контрольные суммы, наконец, совпали, прежде чем Аня предпримет попытку разнести чертов куб физически.
У нее как раз имелось кое-что в запасе для подобных случаев. Программка, увы, была не ее изобретением, а приобретением полугодичной давности и носила гордое имя WinterMute, явно в честь предтечи киберпанка, жившего в США почти столетие назад. "Зимнее безмолвие" работало просто, как удар топора: оно без изысков "замораживало" архив через доли секунды после начала разархивации. То есть в тот сакральный момент, когда "дверь" уже приоткрывается, а фейс контроль еще не начался и сторож не отстреливает незваных гостей крупной дробью. Запустив заморозку, Аня заменила старую проверочную контрольную сумму на ту, которую рассчитала сама, и приступила к истовым молитвам.
А после этого просто ввела придуманный пароль и, выждав очень долгую секунду, с победным воплем откинулась на серую простыню.
Надо думать, это был первый в мире инфокуб, который открывался паролем "qwerty".
4.
Аня с трудом доползла до окна, открыла его, впуская в комнату холодную морось, снова шлепнулась на кровать и в затяжку выкурила две сигареты. Сердце после энергетиков и так колотилось как бешеное, по вискам стекал пот, и она сама не могла определиться, то ли ей очень плохо, то ли очень хорошо. Голова трещала, но душа буквально пела и просилась в полет. Увы, в данном случае духовное проигрывало плотскому с разгромным счетом: Аня понимала, что надо разносить жесткий диск ноутбука и валить отсюда подальше, но от усталости едва могла шевелиться. Без малого трехчасовой взлом вымотал ее так, будто длился трое суток. Она уже мысленно видела, как заходит в коридор своей квартиры и падает там на коврик, чтобы спать сутки, двое, трое, до самой осени...
- Гриша? - удивилась Аня шагам в коридоре.
А потом вспомнила, где она, где Гриша и что вообще происходит. Резко подскочила на постели. Голова тут же в ультимативной форме предупредила ее, что еще один такой фокус - и она взорвется. Аня вжалась спиной в стенку, сидя в темной комнате, которую больше не освещал погасший экран ноутбука, и буквально заставила себя посмотреть на уником. От сети она его отключила сразу, как только вышла из своей квартиры, но время он по-прежнему показывал: "22:20". С одной стороны, это значило, что она отключилась всего на каких-то пару минут, а с другой - что с момента начала взлома прошло больше трех часов.
Если маячок все-таки стоял - а она как дура даже не догадалась этого проверить за всей беготней с контрольными суммами! - за ней могли выехать из любой точки мира. И почти из любой точки России уже могли доехать...
Наконец, за стуком собственного сердца Аня расслышала, что идут не по коридору, как ей спросонья привиделось, а снаружи, в подъезде, где громко скрипнула старая дверь. Скорее всего, двое. И да, судя по всему, приближаются к ее двери или, во всяком случае, движутся в эту сторону. Конечно, всегда оставалась надежда, что это возвращается с гулянки соседи, но вариант был уж слишком оптимистичный.
Но будь это полиция, они шли бы куда громче и увереннее: Ане, увы, имелось, с чем сравнивать.
Она поднялась, кое-как сгребла упаковки от чипсов и банки, сунула их в рюкзак, туда же запихнула ноутбук - времени, чтобы разбивать его молотком и добивать платы шокером явно не было - продела руки в лямки, крадучись пробралась в кухню. Во входную дверь уже вежливо стучали. Приятный мужской голос просил открыть во избежание недоразумений. Аня швырнула парик на дно раковины, быстро достала жестяной флакон с топливом для зажигалки и вылила на белые волосы остатки бензина, а потом подожгла. Благо она здесь ничего особенно не лапала без перчаток, кроме компьютера, банок с энергетиками и упаковок с чипсами, и ее ДНК вряд ли могло остаться на наволочке: собственно, нарощенные фиолетовые косы его не содержали, а натуральные волосы Ани были совсем уж короткие. Так что они да частички кожи могли остаться разве что на парике. Вот пусть и ищут!
Стук в дверь стал более настойчивым.
- Будьте любезны, откройте. Это обычная проверка.
"Хрена с два!" - Аня осторожно выглянула на улицу. Густая серая хмарь, едва-едва прореженная светом фонаря у подъезда, не давала исчерпывающего представления о количестве "гостей", но другого выхода все равно не было. Вроде бы неподалеку от подъезда была припаркована "крутая" тачка, которой раньше здесь не было - тонированный черный джип, диссонирующий с общей убогостью обстановки вокруг - но Аня бы не стала клясться, что не могла его не заметить. У подъезда, не под самым фонарем, а чуть в тени, курил мужчина. Больше прохожих на улице из-за отвратительной видимости не наблюдалось и, вероятно, из-за отвратительной погоды их и не было.
Входная дверь задрожала. Похоже, культурные гости поняли, что доброе слово работает хуже, чем доброе слово и пистолет.
Квартирка была не боковая, но соседняя с ней, от подъезда ее отделяло метров двадцать, от гаражей - около пятнадцати. Плюс прямо под окнами раскинулся палисадник, если несколько кривых кустов, огороженных ржавой решеткой высотой по колено, заслуживали такого названия. В любом случае, это значило, что земля внизу мягкая, да и от дождя должна бы размокнуть, благо, не асфальт. Аня, не оглядываясь, сиганула с подоконника вниз. Спортивные ботинки погрузились во влажную землю, удар был совсем слабый, разве что кусты затрещали. Перекатившись, Аня вскочила на ноги и, пригнувшись, метнулась к гаражам через дорогу.
Убегать в сторону пустыря, куда уходила бесконечная череда однотипных гаражей и древняя железнодорожная ветка, почти заросшая сорной травой, хорошей идей не казалось. Лучше уж было добраться до людных улиц и нырнуть в метро.
Насколько Аня помнила, за гаражами лежала детская площадка и хоккейная "коробка" рядом с ней, еще одна дорога и дальше - жилые дома, чье мутноватое желтое марево она различала через дождь и темноту.
- Стой! Остановись!
"Твою мать!" План нуждался в срочной корректировке: мужчина курил у подъезда, видимо, не просто из желания помокнуть под холодным майским дождиком. Аня припустила еще бодрее. Судя по топоту сзади, тот бросился ей наперерез.
"Они не будут стрелять на улице. Они не будут стрелять на улице", - как мантру мысленно повторяла Аня. Холодный воздух обжигал легкие, рюкзак с ноутбуком колотил по спине, но скорости она не снижала.
- Да стой же ты!
Гаражи стояли слишком плотно друг к другу. В любом случае, Аня не полезла бы в щель между ними, не будучи точно уверенной, что с другой стороны есть путь наружу, а в такой темноте этого было не разобрать: включать подсветку "вишек" хорошей идеей не казалось. Не сбавляя хода, Аня прыгнула вперед, зацепилась за край гаража - жесть издала низкий гул, громкий, как выстрел - быстро подтянулась, игнорируя острую боль в груди, и бросилась прочь от преследователя уже поверху, выбивая ботинками барабанную дробь из стареньких крыш.