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