Магия взлома - "Bat". Страница 56

-Янли, успокоилась? Не переживай, такое с каждым может быть, это, конечно, не значит, что можно и дальше в меня шары метать. Может лучше попробуешь для начала освоить свечение, как в светильниках, а?

- Это как? - слегка заинтересовалась девочка, оторвавшись от подушки.

- Ну, я могу показать тебе один узор, если ты сможешь запомнить его и потом нарисовать при помощи энергии, то увидишь свет, - попытался я объяснить суть задачи.

- Энергии? - непонимающе уставилась на меня Янли.

- Энергии или струйки дыма, как ты ее себе представляла, когда создавала кокон, тут все также, только чуток посложнее, потому что надо узор нарисовать и постоянно его слегка подпитывать.

- А что за узор? - тут же поинтересовалась маленькая ведьмочка.

- Вот это плетение, я нарисовал его для тебя на бумаге, - положив на стол листок, я отошел к окну, на улице уже начинало темнеть, лучшее время для того, чтобы изучать свечение.

Янли подошла к столу и с интересом уставилась на рисунок, судя по тому, как внимательно она его разглядывала, явно пыталась запомнить, опять торопится. Надеюсь, ничего взрывоопасного она не натворит, если создаст неполное плетение, вроде не должна, даже если ее бурная фантазия опять взыграет, вряд ли что-то полезное получится.

- Смотри, как представишь узор, энергию подавай вот в эту точку, от нее она потечет вот так,- объяснял я, показывая на картинке, что к чему.

Янли понимающе кивала, водя пальцем по линиям.

- Вроде бы все, осталось только пробовать, а уж получится или нет, целиком от тебя будет зависеть, - ободряюще закончил я.

Янли закрыла глаза, нахмурилась, представляя рисунок.

- Хммм, великая волшебница, а как ты с закрытыми глазами увидишь, появился у тебя свет или нет? - робко поинтересовался я.

- Точно! Это ты во всем виноват, я совсем забыла, просто с закрытыми глазами мне легче представлять все, - весело ответила девочка.

- А кто говорил, что будет легко, - улыбнулся я.

Теперь девочка точно некоторое время будет занята, надеюсь, она не сильно расстроится, когда узнает, что это не чисто учебное упражнение. Это, наверняка, не то плетение, каким тут пользуются маги для создания локального источника света. То, чем занималась Янли, это было плетение артефактного свечения, оно неудобно для использования без артефакта, его не подвесишь перед собой, чтобы освещать дорогу, и не пошлешь чуть впереди себя. Плетение постоянно требует сосредоточения, плюс, наверное, потребляет массу энергии. Я решил последить за упражнением Янли, мало ли ей еще какая светлая мысль в голову придет. Завалившись на кровать, я наблюдал, как девочка пытается воссоздать по памяти плетение и подтянуть из накопителя энергию. Пока что я не видел ничего кроме напряженного лица, на котором сменялись эмоции девочки, то вроде появится тень улыбки, то опять становится расстроенным, то злость, иногда она даже кулачки сжимала со злости, что ничего не выходит. Через полчаса я устал таращиться и закрыл глаза, интересно, какие плетения использовались магами в обычных условиях, все мои познания пока заключались в артефактной магии. Некоторые плетения вполне могли быть использованы как в амулетах, так и без них, тот же энергетический шар, наверняка, можно сделать артефакт для стрельбы такими шарами. Правда, по словам Янли тут эти шары считаются, чуть ли не верхом мощности мага, потому как у местных это отнимает огромное количество энергии, что подтверждают мои опыты. Сырой энергии, как я для себя назвал магический фон, тратится реально много, моей же внутренней энергии требовалось не так и много, а если учесть тот странный эффект с подпиткой шара от фона, так и вообще сущие пустяки. Неожиданно в комнате что-то вспыхнуло, даже сквозь закрытые веки довольно ощутимо садануло по глазам, после чего я услышал вскрик Янли. Я резко открыл глаза, некоторое время зрение адаптировалось после вспышки, после чего мне предстала картина, девочка усиленно терла глаза руками, периодически в ужасе оглядываясь по сторонам.

- Росмерт! Я ничего не вижу, я ослепла! Росмерт, помоги мне! - у Янли явно начиналась истерика.

- Стой, не три глаза, это не поможет, простой закрой их и успокойся. Это временная слепота, просто яркая вспышка ослепила, через какое-то время зрение вернется, только не три глаза, ладно, - попытался я успокоить ребенка.

Нет, надо завязывать с обучением этого чуда магии, пока она или меня, или себя не убила, чего она опять натворила, вроде там опасного- то ничего не было.

- А я точно смогу видеть? Росмерт, ты ведь не врешь, я не хочу быть слепой, - едва не со слезами спросила Янли.

- Да вернется твое зрение, вернется, ты лучше скажи, чего ты такое тут сотворила. Ведь простейшую вещь тебе дал, так нет, ты и тут нашла, как начудить.

- Ничего я не чудила, все, как ты сказал, так и делала, представила узорчик и запустила в него дым, а он как вспыхнет, и я ослепла, это все ты виноват, - обвинила меня девочка во всех своих проблемах.

Так, посмотрим, что тут произошло, хммм, а почему накопитель почти пустой? Вот я дурак, глянув на листок с плетением, до меня дошло, что сделала не так Янли, точнее, где моя ошибка. На этот раз девочка полностью была права, когда свалила всю вину на меня. В светильнике мощность свечения была фиксирована, я дал Янли плетение, рассчитанное на подачу определенного количества энергии, она же, судя по всему, подала в него больше. Причем намного больше, собственно, она и не знала, что энергию надо дозировать, я как-то забыл об этом. В результате ее чудо-лампочка полыхнула кратковременно очень ярко, после чего плетение выгорело или накопитель выработался, и плетение рассеялось. Определенно, пора завязывать с обучением, учитель из меня никакой, это опасно для нас обоих, да и рано ей, защиту от магии выучила, вот и пусть тренируется, только накопитель я ей не дам больше.

- Ладно, Янли, сегодня мы оба поняли, кто из нас крутой маг, и на этом стоит остановиться, пока оба целы. Как зрение восстановится, займись чем-нибудь мирным, например, делами по дому, пойди полы что ли помой внизу, а то я вчера там порядком грязи натаскал, заодно и отвлечешься, - подвел я итог занятий магией.

Зрение к Янли вернулось где-то через полчаса, я облегченно вздохнул, как бы уверенно я не успокаивал девочку, что зрение вернется, но полной уверенности в этом у меня не было, вспышка все же была довольно сильной.

К моей просьбе направить свою энергию в мирное русло Янли отнеслась спокойно, на удивление девочка не стала в своей обычной манере ни торговаться со мной, ни спорить, а просто встала и пошла вниз. Вскоре там послышались возня и бряканье ведра, пусть немного поработает физически, хоть мозги отдохнут. Я же покопаюсь, пожалуй, в странной тетради, а то все как-то руки не доходят. Мне очень понравилась башенка, явно кабинет мага, тихо, спокойно, одно плохо - за Янли не последишь, но она вроде пока занята. Пока шел за тетрадью, размышлял над событиями последних часов, выходило нечто странное, если верить словам девочки, магов, способных метать энергетические шары, раз, два и обчелся. А тут просто играючи швыряет в меня этот самый шар, и это при том, что она не обучалась магии. Жаль к столбу тому хитрому не сходить, чего-то он там вещал о корректировке энергоканалов девочки, что он там ей исправил? Ладно, это потом, пока что пора заняться тетрадью, зачем-то ведь на нее поставили защиту, чистую смысла нет защищать, хотя это моя логика, чем руководствовался хозяин этого предмета, я не знаю. Так на чем я там остановился, вроде бы надо добраться до складки пространства, бред какой-то, я похоже не совсем верно понял, возможно, имелся в виду иной план реальности как новый ее слой? Поглядим, чего получится разглядеть теперь, за все время с предыдущего изучения заряд тетради почти не изменился, хоть кристалл и был полный, активных плетений почти не было, активно было только одно плетение, которое слабо тянуло фоновую энергию. По старой памяти подал импульс на плетение в правом нижнем углу обложки, вновь пошла странная активация большого количества плетений, закономерно завершившаяся появлением экрана и запроса имени и кода. Вызвав в памяти состояние, при котором происходил переход в режим отладчика, как я для себя его обозначил, передо мной вновь слегка поблек внешний мир и появился новый слой реальности. На этот раз тетрадь выглядела совсем иначе, точнее сама тетрадь осталась лишь тенью, где-то на задворках сознания, на передний план вышла новая информация, в этом слое не было и плетений как таковых. Неизвестно, как это все работало, но мне был доступен код, вполне вероятно, что он написан на каком-то совершенно незнакомом мне языке, но тем менее я понимал смысл всего этого, как если бы разбирал программу у себя дома на обычном компьютере. Откуда во мне такие знания я мог только догадываться, но думаю тут не обошлось без странного субсознания, которое начало что-то вещать и на полуслове исчезло в никуда. На данном слое реальности я заметил ту мелочь, что осталась за кадром в потоковом зрении, запуск всей этой какофонии плетений прикосновением к правому нижнему углу, только этим не ограничивается. Импульс, подающийся для активации, не тратился впустую, он впитывался, после чего довольно большой кусок программы разбирал этот сгусток энергии на какие-то составляющие, запоминая их. Самое забавное, что работа программной части для меня отображалась как при пошаговой отладке, очень медленно, стоило подумать о скорости работы, как она тут же скакнула до нормальной и дальнейшие манипуляции с энергией прошли мимо меня. Ладно, повторим все сначала только медленно, вот слепок ауры, как я понял, разобрали на части и запомнили, вот что-то проверили, и появился запрос имени и кода. Как просто-то все, начальная проверка явно следит, хозяин ли тетради открыл ее, если нет, то повторно требует авторизацию, сейчас исправим один символ и станем хозяевами. Замена символа не отняла много времени, сохранив исправленный вариант, не знаю, правда, где, я вновь активировал артефакт, на сей раз, запроса имени не появилось, радости моей не было предела. Аккуратно я открыл тетрадь на первой странице, там, где ранее красовались чьи-то каракули с кулинарным содержимым, теперь появилось оглавление, написанное аккуратным почерком. Язык, на котором были надписи, был мне знаком, я спокойно на нем читал, правда, некоторые вещи в названиях глав мне были непонятны, хорошо хоть первые главы этой рукописи были посвящены изначальной магии, оставалось надеяться, что это окажется чем-то вроде учебника. Расчет краевых условий, полевые структуры и прочие явно научные термины были мне знакомы лишь отчасти, да и то чисто как слова из разделов физики университетской программы. Почуяв новые интересные знания, я перевернул страницу дальше, в надежде окунуться в секреты магии, но на второй странице меня ожидало разочарование, второй и все последующие листы были заполнены, как и раньше кулинаркой. Ничего не пойму, в чем дело-то, я же подправил проверку? Перевернул лист обратно, перед глазами снова оглавление с кучей интересных названий, перевернул на второй лист - опять пусто. В задумчивости отключил артефакт, видимо, защита не так проста, как кажется, для чего тогда первая проверка, прокрутив несколько раз начало программы, до меня, кажется, дошло. Изначально проверялась общая регистрация, которой по странной логике хватало только чтобы не выводить запрос имени и кода, дальнейшая же информация открывалась по дополнительным проверкам. Самое плохое, что придется повозиться, разбирая кучу сравнений, надеюсь, автор тетрадки не был настолько параноиком, чтобы каждая страница открывалась с разрешения защиты. Считывание ауры и в тоже время существование запроса имени и кода навело меня на мысль, что автор защиты как минимум предполагал передачу своих трудов другому или другим. Несколько удручала другая мысль, аура использовалась как один из параметров, пусть и основной, но все же не единственный, очевидно нового хозяина тетради должен был авторизовать предыдущий владелец. Каким образом я знаю об особенностях местных языков программирования, мне было непонятно, но само это знание радовало, потому, как меня осенила мысль, что я начисто упустил из виду как нашел точку входа в программу, и уж совсем мне несказанно повезло, что код оказался ничем не упакован. Опять же информация о том, что программа не упакована, у меня просто была, откуда не знаю, это несколько нервировало, значит, что-то происходит без моего участия, а я это не люблю. Поставив точки останова на наиболее вероятные функции считывания исходных данных из окошек, я запустил программу, по старой доброй привычке ввел свое имя и цифры от фонаря в поле кода, подтвердил ввод, и тут же сработала одна из точек останова. Функция считала из полей номер и имя, поместив их в ячейки памяти, далее проверили длину строки имени, оказалось, она должна быть из десяти символов. Это что ж за имена такие были у древних. Слепок ауры, преобразованный в цифровой вид, тоже поместили в память, один пакет ауры сложили с какой-то константой, результат также сохранили. Так-с посмотрим, что тут дальше. Строка имени передается еще какой-то функции, интересно зачем, посмотрим, ага, тут проверяют первые три символа имени. Судя по коду, предусмотрено три варианта начала имени, "Лан", "Мон", "Кон", интересно, что после этих символов должен идти незначимый символ вроде нашего дефиса. Имя вида xxx-yyyyyy получается, что же означала эта приставка к имени. На выходе этой функции были три похожих процедуры, разница в них была лишь в том, что в зависимости от начальной приставки к имени шли разные перестановки символов в самом имени. Первая часть имени сравнивалась с первой частью слепка ауры. Проверка странная, получается, первая часть слепка как-то характеризует ауру, уровень или какие-то способности, и это четко связано с приставкой к имени, значит, общество древних было разделено в зависимости от ауры. Чего только не узнаешь, копаясь в программе, если, конечно, мои догадки верны. Вторые части имени и слепка ауры просто складывались посимвольно друг с другом и к этому прибавлялся также и код, результат сложения должен был делиться на три непонятных константы, причем делиться без остатка. Чего-то я не совсем понял всех этих сложностей, зачем все таким образом было закручено, куда проще шифровать страницы слепком ауры. Может автор защиты в шифровании мало разбирался, раз уж не удосужился упаковать как-нибудь код, такое тоже могло быть. То, что наворочал тут неизвестный мне автор защиты, при всей свой простоте тоже обещало отнять немало времени на генерацию правильной комбинации всех составляющих. А если учесть, что программа постоянно обращается к проверкам и умудряется отслеживать промежуточные результаты, то патчить это все замаешься, хотя можно, наверное, попробовать. Изменить глобальный флаг регистрации на нужный не проблема, а вот как быть с промежуточными буферами, куда записалась куча всевозможных результатов расчетов и постоянно с чем-то сравниваются. Хотя спешить мне вроде как некуда, можно потихоньку править все проверки, либо написать программку простого перебора, это, конечно, займет массу времени, но зато потом откроется сразу все.