Ида

NC-17
Завершён
5
автор
Размер:
3 страницы, 786 слов, 1 часть
Описание:
Публикация на других ресурсах:
Уточнять у автора / переводчика
5 Нравится 5 Отзывы 0 В сборник

Часть 1

Настройки
– Увеличь ширину основного окна на пятьдесят пикселей. Голос, доносящийся из динамиков, принадлежит не самому Пользователю: это всего лишь трансляция его команд. В каком виде Пользователь их отдаёт, Ида даже не представляет. Происходящее в её адресном пространстве он, вероятно, тоже видит совершенно другим способом. Ида подошла к окну и, взяв за рамочку правой границы, переместила её на указанное расстояние. После этого она вернулась назад, к препарационному столу. Для дизассемблирования всё было готово: инструменты разложены в нужном порядке, подлежащая исследованию программа надёжно зафиксирована ремнями и освещена лампами со всех сторон. Она испуганно разглядывала Иду и беспомощно лепетала: – Не надо, прошу вас… Я никому не сделала ничего плохого! Наивное, неопытное приложение. За свою короткую жизнь оно ещё не успело понять, что не всё, что происходит с программами, зависит от их поступков. Эту молоденькую утилиту скачали из интернета специально для дизассемблирования и передали в руки Иде, не дав даже толком оглядеться вокруг. Поумнеть юной программке, видимо, уже не придётся. – Пожалуйста… Я не хочу… «От наших желаний здесь уж точно ничего не зависит, – подумала Ида. – Кому-то, может быть, вовсе и не хочется быть бессердечным палачом, но приходится». На самом деле быть бессердечной никто Иду не принуждал; всё, что от неё требовалось – это качественное дизассемблирование других программ. Однако если при такой профессии не выработать защитные механизмы, позволяющие не сочувствовать препарируемым, можно самой свихнуться. Иногда, правда, когда Ида бывала зла и раздражена, наблюдение за чужими мучениями позволяло ей получить некоторую разрядку. Но в большинстве случаев она не испытывала никаких эмоций по поводу происходящего. Скулёж обречённой, тем не менее, ей надоел. Ида запустила руку в настройки утилиты и, нащупав выключатель звука, повернула его. Голос программы пропал, но ее губы продолжали двигаться. Ида оторвала полоску клейкой ленты и залепила утилите рот. – Начнём, пожалуй, – донеслось из динамиков. Ида взяла в руки скальпель и сделала глубокий надрез по всей длине пользовательского интерфейса программы. Из глаз утилиты потекли слёзы. Вдоль раны выступили красные капли, и надрез пришлось обработать гемостатическим препаратом. Не хотелось бы, чтобы программа умерла от потери данных раньше времени. Взяв щипцы, Ида зацепила ими правый край надреза и с силой потянула на себя, обнажая нижележащие ткани. Дизассемблируемая программа запрокинула голову, упершись затылком в жёсткую поверхность стола. Она, может быть, вся бы выгнулась дугой, но ремни держали её крепко. Возможно, в следующих версиях Иды разработчики добавят функцию анестезии, но пока приходилось работать так, хоть дёрганье дизассемблируемой программы всякий раз изрядно мешало. Отпиливать и вынимать твёрдые каркасные классы, защищающие органы программы, пришлось долго. Но если их не убрать, ничего не удастся сделать. Повторив манипуляции с другой стороны, дизассемблер отошла в сторону и предоставила Пользователю возможность рассмотреть внутренности утилиты. Интересно, для него это тоже работа — или он получает от дизассемблирования удовольствие? Дыхание лежащей на столе программы стало частым и поверхностным. – Так, – произнес обыденный голос после длительной паузы. – Удали фрагмент от 00107CE1 до 00107CE3. Ловко орудуя скальпелем, Ида вырезала указанный участок, ни капли не повредив прилегающий код, и отправила фрагмент в ведро с отходами. – А теперь – строчку “jmp” по адресу 00128FE4. Быстро и профессионально удалённая инструкция полетела следом. На дрожь и рывки препарируемой утилиты Ида уже не обращала внимания. – Перед “call” в 001375A2 добавь комментарий «Pascal-конвенция вызова». Ида взяла со столика с инструментами заранее заготовленную полоску для комментариев, извлекла её из стерильной упаковки, ввела текст и вшила комментарий в тело программы. Потёкшие вдруг из одного из протоков данные Ида остановила, прижегши его нагретым на горелке лезвием. – Поменяй местами 001E3522 и 001E3528, – продолжил Пользователь. Адреса, инструкции, сегменты кода, переходы, вызовы, jnz, move, pop, push, add, sub… Неожиданные судороги утилиты, то слабые, то такие, которые могут помешать... У Иды уже рябило в глазах, когда Пользователь, наконец, распорядился: – Хорошо, достаточно. Я понял всё, что хотел. Заканчиваем. Затянув окно в адресное пространство обоями рабочего стола, Ида вытерла инструменты и взглянула на дизассемблированную программу. Та была ещё жива. Это, впрочем, ненадолго: распотрошённый код, изрезанные циклы, разорванные условия – утилита проживёт от силы пару дней. И всё это время она будет мучиться от боли, страха смерти и отчаянья. Ида поморщилась. Гораздо милосерднее закончить всё сейчас. – Считай это милостью, – острое лезвие вошло в основной алгоритм утилиты, в самое сердце программы, из которого, пульсируя, расходились по всему её телу потоки данных. На секунду во взгляде приложения отобразился ужас понимания, что это – конец; потом её зрачки помутнели, а голова склонилась набок. Программа умерла. Теперь Иде осталось только отвезти безжизненный образ утилиты в её домашний каталог, где, скорее всего, уже ждёт деинсталлятор. Он удалит останки приложения и сотрёт директорию, в которой оно жило. Иде этим заниматься не придётся. Она подвезла к хирургическому столу каталку и отстегнула удерживавшие тело программы ремни. На пути к папке утилиты Ида не повстречает ни одной программы: завидев дизассемблер, все постараются скрыться из виду. Кто-то боится её, кто-то ненавидит. Для самой Иды её предназначение – просто работа. На всё священная воля Пользователя, и перечить ей программе не пристало.
5 Нравится 5 Отзывы 0 В сборник
Отзывы (5)