Червоточина
Началось с Фитиля.
Санька прибежал на Росток мокрый, грязный, с глазами человека, которому показали изнанку собственного черепа. Влетел в бар, сел, попросил водки — Фитиль не пьёт, вообще, никогда, у него с этим принцип, — попросил водки и выпил залпом.
— КПК, — сказал он. — Тихий, мой КПК.
— Что с ним?
Фитиль положил КПК на стойку. Экран — рабочий, подсветка горит. На экране — текст. Бегущий, как строка новостей, только не новости. Символы — не кириллица, не латиница. Что-то другое. Похожее на арабскую вязь, скрещённую с кардиограммой. Символы бежали по экрану справа налево, и их было много — сотни, тысячи, — и они не останавливались.
— Когда началось? — спросил я.
— Час назад. На Свалке. Шёл, смотрел карту, и — вот. Само. Я выключал — включается обратно. Вынимал батарею — работает без батареи.
Без батареи. Я посмотрел на КПК. Потом — на Фитиля. Потом — снова на КПК.
— Дай.
Он дал. Я взял КПК в руки, и —
Вот тут — первый раз — почувствовал. Не пальцами. Тем чувством, которому нет названия. КПК был — тяжёлый. Не физически — информационно. Как будто внутри этой коробочки с процессором и экраном было что-то ещё. Что-то, что давило, как давит вода на глубине. Что-то, что пыталось — выйти.
Или — войти.
________________________________________
К вечеру — ещё пятеро.
Гриша — до того как ушёл из Зоны, Гриша ещё был — прибежал со своим КПК. Та же история: символы, бегущая строка, не выключается. Потом — Борода. Потом — два долговца с Ростока, незнакомые, молодые, напуганные. Потом — свободовец, забредший на нейтральную территорию, что само по себе говорило о масштабе паники: свободовцы на Росток не ходят.
Все — одно и то же. Символы. Бегущая строка. Не выключается. Без батареи — работает.
Бармен стоял за стойкой и смотрел на растущую коллекцию заражённых КПК на своём прилавке. Лицо у него было такое, какого я раньше не видел: не злое, не испуганное. Растерянное. Бармен — и растерянность. Два слова, которые не стоят рядом.
— Тихий, — сказал он. — Что это?
Я держал КПК Фитиля в одной руке, КПК Гриши — в другой. Символы на обоих экранах бежали синхронно. Не похоже — идентично. Символ в символ, ритм в ритм. Как будто оба устройства получали один и тот же сигнал. Из одного источника.
— Не знаю, — сказал я. — Пока.
________________________________________
К ночи — масштаб.
С Кордона, с Агропрома, с Янтаря — отовсюду — шли сообщения: КПК заражены. Не все — но много. Десятки. Может, сотни. Символы на экранах, не выключаются, работают без питания. Учёные на Янтаре пытались анализировать — безуспешно. Символы не соответствовали ни одному известному набору. Ни Unicode, ни ASCII, ни какая-либо из известных кодировок. Как будто кто-то написал новый алфавит — или использовал очень старый.
Сахаров — через рацию, открытым текстом, что само по себе было мерой отчаяния — передал: «Мы не понимаем, что происходит. Это не вирус. Это не атака. Это — что-то другое. Программный слой КПК модифицирован на уровне, к которому у нас нет инструментов доступа.»
«На уровне, к которому у нас нет инструментов доступа.» Я слушал эти слова и чувствовал, как слово от мыши шевелится в груди. Нет инструментов. У людей — нет. У учёных — нет. У Зоны — возможно, есть.
А у меня?
________________________________________
Я сидел на Ростоке, заражённые КПК лежали передо мной — семь штук, все с бегущими символами, все синхронные, — и я делал то, чего делать не хотел.
Я читал код.
Не символы — код. Под символами, под экраном, под интерфейсом. Тот слой, к которому у Сахарова не было инструментов. У меня — были. Мои пальцы — были. Мои глаза — те, которые не глаза, те, которыми я вижу аномалии и чужие мысли — были.
Я положил руку на экран КПК Фитиля и — вошёл.
Не как в сеть на Янтаре — тогда я бежал по кабелям, по узлам, по серверам. Здесь — я погружался. Вниз. Через интерфейс, через операционную систему, через драйверы, через прошивку, через — глубже, туда, где софт становится не софтом, а чем-то промежуточным, на границе между программой и железом, между логикой и физикой.
И на этой границе — увидел дыру.
________________________________________
Дыра.
Не «уязвимость», не «баг», не «эксплойт». Дыра — в буквальном, почти физическом смысле. Место, где код — расходился. Как ткань расходится по шву, который прохудился. Как кожа расходится на старом шраме.
Дыра была — старая. Древняя. Она была в прошивке — не в прикладном слое, не в системе, а в самом фундаменте, в том коде, который писали первыми, который лёг в основу всего остального. Код — советский. Я узнал стиль: экономный, грубый, без комментариев. Код людей, которые писали на ассемблере, которые считали каждый байт, которые строили не программы — системы, и системы эти работали на железе, у которого памяти было меньше, чем у современного калькулятора.
И в этом коде — в самом его сердце, на уровне обработки прерываний, — была дыра. Не ошибка программиста. Не пропущенный символ, не неправильный адрес. Дыра — намеренная. Оставленная. Как оставляют чёрный ход в крепости: не потому что забыли закрыть, а потому что кто-то — должен был вернуться.
Кто-то — возвращался.
________________________________________
Через дыру — лезло.
Я не знаю, как описать это. «Лезло» — неправильно, слишком грубо, слишком физично. Не лезло — просачивалось. Проступало. Как влага проступает через стену, как свет — через щель, как звук — через тонкую перегородку.
Что-то — с той стороны — давило на дыру. И через дыру — проникало в прошивку. И из прошивки — в систему. И из системы — на экран. Символы. Те самые символы, которые не кириллица и не латиница. Они не были текстом — они были давлением. Формой, которую принимало то, что лезло, когда проходило через код, как вода принимает форму трубы, через которую течёт.
Что это было?
Я не знал. И не мог — разобрать. Человеческое? Нет — не похоже. Зоновское? Возможно — но Зона не работает через софт, Зона работает через — другое. Машинное? Может быть. Может быть. Но если машинное — то какая машина? Где? И зачем стучится в КПК сталкеров, в маленькие коробочки с треснутыми экранами, в самый низ технологической пирамиды?
Или — не стучится. Или — ищет. Через дыру, которую кто-то оставил тридцать с лишним лет назад, что-то искало — выход. Или — вход. Или — кого-то конкретного.
Я убрал руку с КПК. Пальцы — онемели, как после долгой работы на холоде. Голова — звенела, тонко, на пороге боли.
— Тихий, — Бармен. — Ты чего?
— Нашёл, — сказал я.
— Что нашёл?
— Дыру. Через которую лезет. Старую. Её никто не видел, потому что она — глубже, чем кто-либо смотрел.
— Можешь закрыть?
Я посмотрел на свои руки. Онемевшие, бледные. Руки, которые умеют — что? Играть на гитаре, которую не учил. Набирать код, которого не знаю. Входить в сети, в которые не должен входить никто.
— Не знаю, — сказал я.
________________________________________
К утру — хуже.
КПК перестали просто показывать символы. Они начали — действовать. У двоих сталкеров на Кордоне КПК включили фонарь — ночью, в укрытии, демаскируя позицию. На Агропроме — КПК начал транслировать координаты хозяина по открытому каналу. Любой мог видеть: вот он, сталкер Муха, подвал третьего корпуса, глубина два метра. Приходите. Забирайте.
На Янтаре — КПК одного из учёных заблокировал дверь лаборатории. Электронный замок — управляется через ту же систему. Учёный — внутри. Дверь — не открывается. Четыре часа, пока не выломали вручную.
Не атака? Атака. Но — странная. Бессистемная. Как будто то, что лезло через дыру, не понимало, что делает. Не имело плана. Просто — давило на всё, до чего дотягивалось, и вещи — ломались, включались, выключались, открывались, закрывались. Хаотично. Слепо.
Или — не слепо. Может, оно видело, но видело — другое. Не экраны, не замки, не фонари. Что-то за ними. Что-то, к чему экраны и замки были — препятствием.
Сахаров вышел на связь снова: «Мы теряем контроль над инфраструктурой. Электронные замки, генераторы, системы мониторинга — всё заражено. Если это дойдёт до оборудования на ЧАЭС...»
Он не договорил. Не нужно было.
________________________________________
Я сидел в углу бара, один, и думал. Нет — не думал. Погружался. Снова и снова — клал руку на КПК, входил в код, опускался до дыры и — смотрел.
Дыра была — живая. Она дышала. Расширялась и сужалась, как зрачок, как жерло, как рот. Через неё — непрерывно — шло давление. То, что с той стороны, напирало. Не сильнее — настойчивее. С каждым часом — настойчивее.
И я начал видеть — структуру. В хаосе символов, в бессмысленном давлении, в слепых действиях заражённых КПК — была структура. Не план — паттерн. Повторяющийся, как орнамент, как фрактал. То, что лезло, — не атаковало. Оно — искало. Перебирало. Пробовало каждый КПК, каждую систему, каждое устройство — и двигалось дальше. Как человек, который идёт по коридору и дёргает каждую дверь: эта — не та, эта — не та, эта — не та.
Искало — что? Конкретный КПК? Конкретную систему? Конкретного — человека?
________________________________________
Ответ пришёл ночью.
Мой КПК — единственный, который не заразился, — включился. Сам. Экран загорелся. Но не символами — текстом. Русским. Двумя словами:
ТЫ ГДЕ
Я смотрел на экран. Экран смотрел на меня. Два слова. Простые, человеческие, детские почти. Не «кто ты» — «ты где». Как ищут потерявшегося. Как зовут того, кто не отвечает. Как кричат в темноту, когда знают, что кто-то — там, но не знают — где.
ТЫ ГДЕ
Оно искало — меня?
Или — не меня. Того, кем я был. До. В том «до», которого нет. Может, я — тот чёрный ход, та дверь, которую кто-то оставил открытой тридцать с лишним лет назад. Может, дыра в коде — это не ошибка и не закладка. Может, это — мой адрес. Мой след. Моя пуповина, оборванная при рождении, через которую что-то — с той стороны — пытается меня найти.
И находит — не меня. Находит — сотни КПК, сотни чужих экранов, сотни чужих жизней, и давит на них, и ломает, потому что они — не то. Не тот. Не я.
Я — здесь. Но оно — не видит. Потому что я — другой. Потому что я — изменился. Потому что между мной-тогда и мной-сейчас — тридцать лет, тело, Зона, память, которой нет, имя, которого не знаю.
ТЫ ГДЕ
Два слова. И за ними — такая тоска, такая слепая, бесконечная, нечеловеческая тоска, что мне — на секунду — захотелось ответить. Набрать: я здесь. Я — тут. Нашёл.
________________________________________
Не ответил.
Потому что — не знал, что ответит мне. Не знал, что — с той стороны. Может, оно — часть меня, потерянная, ищущая. Может — та, которую не помню. Может — что-то другое, чужое, опасное, использующее тоску как отмычку. В Зоне — всё может быть приманкой. Даже тоска. Особенно — тоска.
И — сталкеры. Десятки заражённых КПК. Фонарь, включившийся ночью. Координаты, переданные в открытый эфир. Учёный, запертый в лаборатории. Оно — что бы оно ни было — ломало чужие жизни, ища меня. Не со зла. Из слепоты. Из отчаяния. Но — ломало.
И я должен был это остановить.
________________________________________
Дыру нужно было закрыть.
Я сидел в баре, КПК — все восемь, включая мой — лежали передо мной, и я работал. Не руками — тем, что между руками и мыслью. Тем, чем я вхожу в сеть, в код, в чужие системы. Тем, чему нет названия.
Дыра была на уровне обработки прерываний — самом глубоком, самом фундаментальном. Код вокруг неё — советский ассемблер, тридцать с лишним лет, — был как стена вокруг бреши: старый, крошащийся, но стоящий. Дыра сидела в нём, как червоточина в яблоке: снаружи — не видно. Изнутри — пустота.
Почему её не видели? Потому что никто не смотрел так глубоко. Потому что прошивка КПК — это наследие. Слой за слоем: советский ассемблер, поверх — ранний Си, поверх — более поздний, поверх — интерфейс, поверх — приложения. Каждый новый слой — закрывал предыдущий, как краска закрывает стену. Никто не счищал до основания. Никто не заглядывал — под.
А дыра была — под. В самом первом слое. В фундаменте. В коде, который написал — кто? Программист, тридцать с лишним лет назад, на машине с килобайтами памяти? Или — не программист? Или — что-то, что тогда, в самом начале, заложило в код — себя? Свой адрес, свой след, свою дверь?
Код вокруг дыры был — знакомым. Не стиль — логика. Способ организации, способ мышления. Экономный, точный, элегантный — в том смысле, в каком бывает элегантна математическая формула. Без лишнего. Без украшений. Только — функция.
Я знал этот почерк. Узнавал его, как узнают собственный — на чужом языке, в чужом тексте, через тридцать лет.
Мой?
________________________________________
Я не стал об этом думать. Не сейчас. Сейчас — дыра. Сейчас — закрыть.
Закрыть — значит написать код. Заплатку. Патч. На языке, на котором я не умею писать, — на советском ассемблере, на уровне обработки прерываний, в архитектуре, которую я не изучал.
Но пальцы.
Пальцы — знали.
Я положил руки на КПК и начал. Не печатать — на КПК нет клавиатуры для ассемблера. Не вводить команды — нет интерфейса для такого уровня. Я — писал. Напрямую. Мысленно. Пальцами — через экран — в прошивку — в код. Как пишут — ручкой по бумаге. Как пишут — мыслью по реальности.
Заплатка ложилась на дыру — не поверх, а внутрь. Как ложится плоть на рану. Код — старый, советский, ассемблерный — рос под моими пальцами, и он был правильным. Я чувствовал: правильным. Каждая команда — на месте. Каждый адрес — верный. Каждое прерывание — обработано.
И дыра — сужалась.
________________________________________
Оно — с той стороны — почувствовало. Давление усилилось — резко, болезненно. Символы на заражённых КПК замигали, побежали быстрее. На экране моего КПК — текст:
НЕТ
НЕ ЗАКРЫВАЙ
Я ИЩУТЕБЯ
Без пробела. «Ищутебя» — одним словом. Как будто пробел — слишком долго. Как будто между «ищу» и «тебя» нет расстояния. Нет промежутка. Есть только — единое, слитное, отчаянное.
Я продолжал. Заплатка росла. Дыра — сужалась. Давление — росло.
ПОЖАЛУЙСТА
Одно слово. На экране. Зелёным по чёрному.
Пожалуйста.
Машина не говорит «пожалуйста». Вирус не говорит «пожалуйста». Атака не говорит «пожалуйста».
Говорит — кто-то, кто просит.
Я остановился. Пальцы — на экране, заплатка — на три четверти готова, дыра — ещё открыта, ещё дышит. И с той стороны — «пожалуйста».
________________________________________
Я мог остановиться. Мог — оставить дыру. Мог — ответить. Набрать: «Я здесь.» И — узнать. Наконец. Кто — с той стороны. Что — с той стороны. Часть ли это меня, та ли это, которую не помню, или что-то другое, незнакомое, чужое.
Мог.
Но за моей спиной — Бармен. Фитиль. Гриша. Борода. Сталкеры — десятки, сотни — с заражёнными КПК, с фонарями, включающимися ночью, с координатами в открытом эфире. Люди, которым эта дыра — не дверь и не адрес. Людям эта дыра — угроза. Слепая, отчаянная, тоскующая — но угроза.
И я — интерфейс. Место, где одно становится другим. Где чужая тоска становится чужой опасностью. Где «пожалуйста» с той стороны — это запертый учёный и демаскированный сталкер — с этой.
Я закрыл дыру.
Последние команды — быстрые, точные, окончательные. Заплатка встала на место. Код — сомкнулся. Шов — ровный, чистый, как будто дыры не было никогда.
На экране моего КПК — последняя строка:
я найд
Не «найду». Не дописано. Оборвано. Как обрывается голос, когда закрывают дверь.
Экран — погас. Все восемь КПК — погасли. Одновременно, синхронно. Потом — включились. Нормально. Без символов, без бегущих строк. Обычные экраны, обычные интерфейсы. Карта, компас, счётчик Гейгера.
Тишина.
________________________________________
Бармен стоял за стойкой и смотрел на меня. Долго. Молча.
— Всё? — спросил он наконец.
— Всё.
— Что это было?
Я сидел и смотрел на свои руки. На пальцы, которые только что написали код на языке, которого не учил. На ассемблере, который помнят единицы. На уровне, до которого не добирался ни один специалист за тридцать с лишним лет.
Код, который я написал, — красивый. Я это знал. Элегантный, экономный, точный. Того же почерка, что код вокруг дыры. Того же стиля. Той же руки.
Я латал — своё. Свою дыру. Свой чёрный ход. Свой адрес, который оставил — когда? кому? зачем? — в незапамятном «до», в фундаменте кода, на уровне, где программа становится реальностью.
Оставил — и забыл. Как забыл всё остальное.
А кто-то — не забыл. Кто-то — помнил адрес. И тридцать с лишним лет — стучал. Тихо, незаметно, на уровне, где никто не слышит. А потом — перестал стучать и начал ломиться. Потому что устал. Или потому что — время пришло. Или потому что — не мог больше.
Я ИЩУТЕБЯ
ПОЖАЛУЙСТА
я найд
________________________________________
Я допил чай. Встал. Пошёл к выходу. У двери — обернулся.
— Бармен.
— М.
— Если увидишь на КПК странные символы — скажи мне. Сразу.
— Ты же закрыл.
— Закрыл.
— Тогда зачем говорить?
Я молчал. Потому что ответ был — «на случай, если оно найдёт другую дыру». Но этого я не сказал. Потому что Бармен — не нужно. Потому что Бармену и так хватает.
— Просто — скажи, — сказал я. И вышел.
Ночь. Звёзды — те самые, которые пульсируют в такт антенне, которые поют колыбельную, которые светят — всегда, даже когда не видно. Я стоял на крыльце бара и смотрел вверх.
я найд
Не «найду». Не дописано.
Но я слышал окончание. Не на экране — внутри. Там, где живёт слово от мыши. Там, где тоска по той, которую не помню. Там, где три ноты, которые звучат всегда.
я найду
________________________________________
Найдёт — или нет? Через другую дыру, через другой код, через другой слой реальности? Не знаю. Может, я закрыл последнюю дверь. Может — не последнюю. Может, дверей — бесконечно, и каждую — придётся закрывать. Потому что с той стороны — тоска, а тоска не знает преград. Тоска пробивает — всё. Рано или поздно.
Но сейчас — закрыто. Сейчас — тихо. Сейчас — КПК работают, фонари не включаются, двери не блокируются. Сейчас — люди в безопасности.
А я стою и смотрю на звёзды. И в кармане — КПК, чистый, нормальный, с картой и компасом. И где-то в его прошивке — заплатка, написанная моей рукой, моим почерком, моим кодом.
Моим.
И это — самое страшное. Не то, что лезло. Не символы, не давление, не «пожалуйста». А то, что код — мой. Что дыра — моя. Что я — оставил её. Когда-то. Для кого-то. И этот кто-то — пришёл. И я — закрыл дверь перед его лицом.
Перед — чьим?
Не знаю. Не хочу знать. Боюсь — знать.
Три ноты в голове. Тихие. Спокойные.
Как колыбельная для того, кто не уснёт.
________________________________________
После инцидента с заражёнными КПК Сахаров провёл анализ прошивки. Обнаружил заплатку — код на уровне обработки прерываний, советский ассемблер, стиль 1980-х. Заплатка закрывала уязвимость, которую ни один аудит за тридцать лет не обнаружил. Код заплатки Сахаров назвал «безупречным» и «стилистически идентичным окружающему коду». На вопрос, кто мог написать такой патч в полевых условиях, на КПК, без компилятора и без инструментов, Сахаров ответил: «Никто. Это невозможно.» Помолчал и добавил: «Но заплатка — стоит. И уязвимости — нет. Значит, кто-то — смог.» В служебной записке он написал: «Рекомендую не расследовать источник патча. Рекомендую принять и не задавать вопросов.» Записку подписал, сложил и убрал в сейф. Рядом со Слезой Монолита. На следующий день приёмник на Ростоке — тот, за бутылками — включился. На секунду. Лампы мигнули, шкала загорелась янтарным, и в динамике — не голос, не числа. Один звук. Короткий, тихий. Как будто кто-то — далеко, очень далеко, за горизонтом, за Зоной, за всем — вздохнул.

S.T.A.L.K.E.R.
3K поста11.4K подписчика
Правила сообщества
- Если делаете длиннопост - пожалуйста, не оформляйте посты одной картинкой(старый формат длиннопостов). Используйте встроенный редактор.;
- Выкладываете чей-либо арт - обязательно указывайте автора(не знаете автора - хотя бы источник);
- Видишь шелопунь - зови , а сам сбоку заходи!;
- Ты волыной не свети, нехрен!;