Метаданни
Данни
- Включено в книгата
-
- Оригинално заглавие
- 01.01.00, 1999 (Пълни авторски права)
- Превод отанглийски
- Крум Бъчваров, 1999 (Пълни авторски права)
- Форма
- Роман
- Жанр
- Характеристика
- Оценка
- 3,9 (× 7гласа)
- Вашата оценка:
Информация
Издание:
Автор: Р. Дж. Пинейро
Заглавие: 01.01.00
Преводач: Крум Бъчваров
Година на превод: 1999
Език, от който е преведено: английски
Издание: първо
Издател: ИК „Бард“ ООД
Град на издателя: София
Година на издаване: 1999
Тип: роман (не е указано)
Националност: американска
Редактор: Иван Тотоманов
ISBN: 954-585-055-8
Адрес в Библиоман: https://biblioman.chitanka.info/books/767
История
- —Добавяне
5
Сюзан Гарнет имаше опит с разшифроването на чужди компютърни кодове. Беше започнала още в Харвард, когато специализираше компютърно инженерство. После кандидатства за асистентско място във факултета и получи незавидната работа да превежда програми от един език на друг, обикновено от Паскал или Фортран на С-плюс, в рамките на програма за модернизиране. Тази задача изискваше не само да познава много езици, но и да проявява огромно търпение, докато разглобява старите програми на съставни части, за да разбере целта им и да може да ги пренапише на С-плюс. Продължи да се занимава с това и докато пишеше магистърската си теза по компютърни науки в Йейл и по-късно като консултант за две местни банки, които искаха да осъвременят софтуерните си бази данни. Докато работеше върху доктората си по компютърни алгоритми, тя даваше подобни консултации на „Хъниуел“ и „Сименс“.
Сега Сюзан изпълняваше подобна задача: пресяваше хиляди редове, търсеше, проучваше, анализираше, също както през по-голямата част от кариерата си. Само че този път не за да направи превод на друг език, да модернизира дефектирал софтуер или да усъвършенства контролна система. Днес тя правеше дисекция на сложна С-плюс програма, за да открие свидетелства за измамата на Кървавата брадва.
Първо прегледа оригиналните алгоритми на „следотърсачите“ и „миризмите“, които хакерът й бе дал преди два дни. След като провери краткия код на „миризмата“, чиято цел беше да се закачи за вируса царица в секундите преди и след блокирането, Сюзан отвори кода на „следотърсача“ и сбърчи чело. Кървавата брадва не бе спазил правилата за програмиране и в резултат структурата не вървеше гладко. Вместо това софтуерът прескачаше от място на място в зависимост от стойностите на някои променливи величини, включително съответното физическо местоположение на „следотърсача“ в Интернет, предишното му местоположение, очакваното следващо местоположение според последните известни координати на най-близката „миризма“ и най-бързия път до нея. Алгоритъмът лъкатушеше сред тези променливи и постоянно променяше курса си, за да проследи „миризмата“ до източника на вируса.
На пръв поглед кодът действаше според програмирането, но Сюзан си имаше работа с хакери достатъчно отдавна, за да търси тънкости и дребни аномалии, обикновено пренебрегвани от средния програмист. Основното тяло на програмата се състоеше от проследяваща част, която изчисляваше променливите, и информативен сектор, в който се кодираха координатите на вируса преди да бъдат пратени на нея. В този сектор имаше уникален кратък код, пращан заедно с окончателното съобщение — „лаят“ — и бележещ произхода на вируса, резултат от милиони повторения, извършени от проследяващата част. Тя му обърна специално внимание, защото смяташе, че Кървавата брадва може да го е променил, за да я заблуди и да я накара да си мисли, че вирусът произхожда от Тикал.
Докато нахвърляше същността на кода в бележника до лаптопа си, влезе Трой Рийд.
— Все още няма информация за Кървавата брадва — съобщи той и седна. — Нещо ново при теб?
— Не съм сигурна — отвърна Сюзан и посочи екрана. — Това е секторът, който генерира окончателните координати на вируса.
— Които сочеха към Тикал, нали?
— Да. Ето как действа.
ROUTINE ADJUST
IMPORT ADJUST1, ADJUST2
LONG = LAST_LONG + ADJUST1
LAT = LAST_LAT + ADJUST2
CALL MESSAGE LONG, LAT
— Новата географска дължина и ширина на вируса се изчислява чрез въвеждане на промени според последното местоположение на „миризмата“, закачена за вируса царица. ADJUST1 и ADJUST2 бележат разликата между последното и новото местоположение в градуси, минути и секунди и по този начин дават точното местоположение с отклонение до три метра. Щом се въведат промените и променливите величини, дължината LONG и ширината LAT се прехвърлят в операцията MESSAGE и програмата ги праща право при мен.
Сюзан натисна клавиша PAGE DOWN, премина към операцията MESSAGE, прочете С-плюс кода и написа:
ROUTINE MESSAGE
IMPORT LONG, LAT
RLOGIN SGARNETT@FBI.GOV
PASSWORD *******
FTP LONG
FTP LAT
LOGOFF
RETURN
— Всъщност е съвсем елементарно — каза Сюзан. — Просто взима последните координати, свързва се с моя адрес и ми ги праща. После прекъсва връзката. Имам скрипт, който автоматично чете имейлите и нанася информацията на картата ми. FTP е команда на Юникс за прехвърляне на файл от едно място на друго.
— Не виждам нищо нередно — намръщено отбеляза Рийд.
— На пръв поглед наистина е така — съгласи се тя. — Но забравяш за интервалите отдясно на променливата. Забеляза ли интервала между LONG и запетаята? Ето, виж.
И тя пусна тази част от кода в програма, която откри интервалите, неизползвани за действително разделяне на команди и данни, и ги отбеляза със знака $.
ROUTINE MESSAGE
IMPORT LONG$, LAT$
RLOGIN SGARNETT@FBI.GOV
PASSWORD *******
FTP LONG$
FTP LAT$
LOGOFF
RETURN
— Сега да видим интервалите при въвеждането на промените.
ROUTINE ADJUST
IMPORT ADJUST1, ADJUST2
LONG = LAST_LONG + ADJUST1
LAT = LAST_LAT + ADJUST2
CALL MESSAGE LONG, LAT
— Няма излишни интервали — отбеляза Рийд.
— Това означава, че тази част наистина си върши работата както трябва и променя местоположението, докато вирусът пътува из Интернет. Но не прехвърля резултата от изчислението.
— Вместо това получаваш стойностите, записани в променливите LONG$ и LAT$.
— Сега ще видим къде се генерират тези стойности.
Тя потърси в кода на „следотърсача“ съответствия на LONG$ и LAT$. Това я отведе към друг сектор:
ROUTINE 586RH
IMPORT ADJUST1, ADJUST2
LONG$ = LONG + OFFSET1
LAT$ = LAT + OFFSET1
CALL MESSAGE LONG$, LAT
RETURN
— Копелето му гадно — изсумтя Сюзан. — Просто ни е разигравал, прибавял е допълнителна стойност към координатите, за да не ни позволи да стигнем до точното място.
— Логично е — отвърна шефът й и посочи течнокристалния екран. — Взима вярната дължина и ширина и ги събира с постоянно число. На пръв поглед „следотърсачите“ и „миризмите“ като че ли си вършат работата и проследяват вируса, само че окончателните координати не са точни. Можеш ли да откриеш числото?
Сюзан прехвърли страницата надолу и кимна.
— Ето го. Разликата с действителните координати е осемдесет километра, което означава, че мястото пак е в джунглата Петен.
— Блестящо — рече Рийд. — Но и озадачаващо. Не може да не е знаел, че в крайна сметка ще проверим кода му и ще открием измамата. С това е рискувал да му отнемем достъпа до компютър. Защо?
Сюзан си погледна часовника. До следващото блокиране оставаше един час. Над столицата вече се спускаше сумрак. Мътно оранжеви и златисти отблясъци обливаха тъмносиньото небе и хвърляха по сградите и паметниците поразителни багри преди да изтлеят и да отстъпят мястото си на сивкавата светлина на уличните лампи.
Тя гледаше всичко това, но в мислите си виждаше Кървавата брадва и най-после разбираше действителния му мотив да се съгласи на сделка.
— Печелил е време — каза тя накрая.
— Време ли?
— За да избяга. Знаел е, че все някога ще разкрием плана му, но едва след като се измъкне от затвора. И ние се хванахме. По дяволите!
— Ами програмата, която ти е пратил сутринта, онази, която ти вече пусна в Интернет, за да засечеш вируса след блокирането?
Тя се върна при лаптопа си и през следващите трийсет минути анализира новата програма, която в общи линии се основаваше на предишната. Тази последна версия на „следотърсача“ изглеждаше чиста. Разбира се, имаше вероятност Кървавата брадва да е вкарал елемент, за който Сюзан нямаше представа. Но трябваше да е нещо абсолютно революционно, защото тя по никакъв начин не можеше да го открие.
— Изглежда наред — каза тя накрая и за пореден път си погледна часовника. — Но пък с Кървавата брадва никога не можем да сме сигурни. За всеки случай прибавих към програмата още една операция. Ако ни е измамил, след петнайсет минути ще разберем.
Както очакваха, точно в 20:01 екранът замръзна за седемнайсет секунди. Когато системата отново оживя, Сюзан стартира новата версия на „следотърсачите“, които се втурнаха след закачените за вирусите царици „миризми“ и се сляха на юг при същия сателит на „Хюз“, сочещ към точка на полуостров Юкатан.
— Пак ли! — изохка Сюзан.
— Чакай, чакай — спря я Рийд. — Виж координатите. Този път са различни от снощните.
Тя погледна новата дължина и ширина.
— Като че ли е на запад от Тикал… на около осемдесет километра. Странно. — Сюзан набра няколко команди и на екрана се отвори нов прозорец.
— Това е координатната последователност от „следотърсача“. А това е резултатът от програма, която закачих за десет процента от „следотърсачите“, за да проверя данните им, в случай че Кървавата брадва е решил да ни изиграе нов номер. Получени са четирийсет и пет съобщения.
— Сливат се на юг — отбеляза Рийд.
— Точно като резултатите на моята карта.
— Това означава ли, че този път координатите са верни? Оттам ли е дошъл вирусът?
Сюзан вдигна рамене. Не знаеше какво да мисли. Кървавата брадва майсторски всяваше неувереност в чистата логика на компютърния софтуер и я караше да се съмнява в истинността на резултати, които иначе би приела за даденост.
— Според разговора ти с археолога от Джорджтаунския университет — продължи Рийд — в тези странни явления има много паралели, които не могат да се пренебрегнат.
Тя тежко въздъхна и прокара ръце през кестенявата си коса.
— След като собствената ми програма ни отвежда на същото място, вече не зная на какво да вярвам.
— Какво е това? — попита Рийд и посочи долната част на екрана. — Последните координати ми се струват странни.
Сюзан прочете числата от съобщение №46, пратени след сливането на „следотърсачите“.
— Имаш право. Би трябвало да са само четирийсет и пет съобщения. Освен това тези числа не са дължина и ширина. По-скоро приличат на… По дяволите!
Тя бързо отвори уебстраницата на Американското астрономическо дружество и използва тяхната интерактивна карта на вселената, за да локализира точката в космоса, посочена от последните координати.
В гърлото й заседна буца. Сюзан взе една от книгите, които й бе дал Камерон Слейтър, прелисти страниците и откри рисунката на космоса, направена от древните маи.
— О, Господи, трябва да се обадя на Камерон! Това е… невероятно! — На рисунката бяха представени същите две звезди, за които беше споменал археологът. Тя си спомни за куксан суум, пъпната връв, свързваща Земята е хунаб ку, галактическото ядро. — И това не е номер на Кървавата брадва. Това е резултатът от собствената ми програма.
— Това ли е мястото, за което сте разговаряли с професора?
Сюзан кимна. Значението на откритието й я вледеняваше.
Рийд се изправи.
— Ако всичко това е вярно… Боже Господи, трябва да се свържа с директора. Има вероятност някой да се опитва да установи контакт с нас.