TrickZter
Спс за ответы. Хотелось бы поподробнее узнать о размере вложенного файла. Как конкретно менять эти 4 байта при изменениях размера файла.
Что мне удалось накопать:
Чтобы прочитать тексты, достаточно "увеличить" каждый байт в тексте на 31 - кодировка англ. букв и ряда других символов совпадет с ANSI.
Непосредственно тексты начинаются сразу после первой комбинации FF FF. Похоже, это начало строки.
FE FF - конец строки.
FE FF 01 80 FF FF - обычный переход на новую строку. Можно вставить вместо 6 значащих букв текста и получить знак энтера, ничего нигде не сбивается и ром работает дальше.
Попытка перенести существующие "энтеры" приводит к сбоям в тексте сообщения. Возможно, не всегда.
Попытки увеличить/уменьшить размер файла приводят к зависанию игры в момент загрузки файла.
FE FF 01 80 02 80 FF FF - базовый переход к новому сообщению. Можно вставить вместо любых 8 букв текста и разбить сообщение на 2 от того же персонажа.
Внутри конструкции могут содержаться различные данные, видимо, о цвете шрифта, персонаже, переходе к новой картинке и т.д. Крайне маловероятно, что там содержится длина сообщения.
В тексте встречаются "левые" символы. Первый такой тут:
UIFN,TFMWFT
themKselves при сдвиге на 31
В игре не отображается, хотя в другом месте выводил бы букву "К". Попытки убрать символ с его позиции приводят к зависанию игры в момент прогрузки файла.
Что-то похожее на абсолютные указатели есть в начале файла:
00 EO 80 00
41 A0 01 00
00 30 02 00
00 20 03 00
00 70 03 00
00 F0 03 00
00 A0 04 00
00 40 05 00
и т.д.
Изменения этих цифр ведут к сдвигам внутри отдельных групп сообщений в игре. Остальные группы сообщений при этом никак не затрагиваются. Т.е. изменив что-то в первой строке, можно похерить что-то только в первых 2-х сообщениях.
Уменьшение чисел ведет к тому, что может быть показан кусок прошлого сообщения. Увеличение - к тому, что не будет показан кусок текущего сообщения. В большинстве случаев просто вылазит еще и куча кракозябр до/после чего-нить (никогда внутри).
Так что энти байты комбинации скорее всего указывают на начала групп сообщений.
Также видно, что в 3 столбце числа идут по возрастанию. Не обязательно без пропусков или повторений. Сразу думал, что это что-то вроде номеров сообщений, но нет, изменение ведет к похожим сдвигам, как и со вторым столбцом. Так что скорее всего это старший разряд в числе, означающем позицию в файле. Хотя, хрен там, тогда числа идут не всегда по возрастанию.
Вроде пока все)
Отредактировано Badguysol (2012-01-10 02:23:23)