Перейти к содержимому
Zone of Games Forum
Вешурик

Вскрытие файлов типа .RLD

Рекомендованные сообщения

Добрый день.

Мы переводим визуальную новеллу Princess Evangile, но дело в том, что не знаем, удастся ли вообще вставить перевод в игру. Ибо вскрыть текстовые файлы никому так и не удалось из тех людей, к кому мы обращались.

У файлов тип .RLD. Прикладываю архив. с текстами из игры.

Конечно, потом будет ещё проблема вставить русский шрифт (игра от английского издательства MangaGamer), но это потом.

С графикой вроде как разобрались, с ней всё в порядке.

Огромное спасибо за ответ!

Поделиться сообщением


Ссылка на сообщение

Подсказали, что и как с файлами. Но вот больше помочь не смогли, мол, пытайтесь сами.

"Когда я извлекал скрипты, мне пришлось самому писать инструмент, который расшифровал бы и отделил текст от файлов .rld .

Одна программа асмодена дала мне пару подсказок. RLD - файлы зашифрованы пропусканием через операцию XOR c 1024-байтным ключом, который генерируется псевдослучайным образом, а затем XOR-ится ещё раз с числом, которым инициируется генератор псевдослучайных чисел(АКА зерном).

Вторая часть очень важна. Каждая игра использует только одно зерно для всех файлов RLD, так что её можно сравнительно легко получить через отладчик. Ну, или можно перебрать все варианты: с нормально написанным инструментом на это уйдёт несколько часов.

После расшифровки я в тупую использовал байтовый поиск чтоб найти последовательность байтов перед каждой строчкой текста. Обычно срабатывает вполне неплохо и позволяет найти текст для извлечения. Как автоматизировать извлечение выборов - не додумался, так что это делал вручную. Дополнение: каждый скрипт использует одинаковые ключи сида, но у каждой игры он свой собственный". Асмодеан - это сайт: http://asmodean.reverse.net/pages/tools_index.html".

Изменено пользователем Вешурик

Поделиться сообщением


Ссылка на сообщение

Ребята, я потрясен - взяться за Princess Evangile это сильная решимость!

Она ведь Охренительно большая - у меня даже не хватило моральных сил пройти все ветки, собираюсь добить как-нибудь потом.

А ведь еще есть "Princess Evangile W Happiness", которую очччень хочеться из-за Ruriko и других девчонок, а ведь ее еще даже MangaGamer не перевели, хоть и пишут что взяли в перевод.

В общем поддерживаю, переводить надо, хоть это и будет мучительно, - держитесь :yahoo: !

Поделиться сообщением


Ссылка на сообщение

Спасибо огромное, но анонсировать пока боимся - пока скрипты не вытащены, молчим, не хотим никого обнадёживать.

Выяснили, что ровелла сделана на ниппонском игровом движке новелл - sketch/Exhibit engine

RLD - формат файлов, в нем содержится скриптовая часть (т.е. действия) вместе с текстом. По описанию на сайте разработчика - формат бинарный и шифрованный.

http://www.retouch.info/retouch/dl_sketch.html - здесь можно загрузить сам движок.

Но он на японском :(

Короче, пока техспециалиста не найдём, никто даже думать не будет о переводе (но так-то мы в текстовых редакторах пока работаем, но это трудно).

Поделиться сообщением


Ссылка на сообщение

Новая инфа. Думаю, последняя.

Здесь нужен полноценный отладчик, с помощью которого можно было бы приостановить выполнение программы. В функции "loadRld" из модуля resident.dll там, где идет чтение файла с диска, надо поставить точку остановки после позиции 0х10 чтения из буфера, затем продолжить выполнение. Отладчик должен остановится рядом с циклом расшифровки, в котором есть два оператора ХОР. Один ХОР будет гулять по последовательности генератора случайных чисел, а второй - константа, содержащая нужное нам число.

Поделиться сообщением


Ссылка на сообщение
RLD - файлы зашифрованы пропусканием через операцию XOR c 1024-байтным ключом, который генерируется псевдослучайным образом, а затем XOR-ится ещё раз с числом, которым инициируется генератор псевдослучайных чисел(АКА зерном).

Т.е. используется метод гаммирования с 1024-байтной (не бит?) гаммой Y, псевдогенерирующейся на основе зерна:

[Шифрованный Текст] = [Текст] XOR Y = [Текст] XOR [Зерно] XOR [Псевдослучайная Последовательность]

Псевдослучайная Последовательность для всех rld-файлов одинаковая или генерируется для каждого файла?

Поделиться сообщением


Ссылка на сообщение
Т.е. используется метод гаммирования с 1024-байтной (не бит?) гаммой Y, псевдогенерирующейся на основе зерна:

[Шифрованный Текст] = [Текст] XOR Y = [Текст] XOR [Зерно] XOR [Псевдослучайная Последовательность]

Псевдослучайная Последовательность для всех rld-файлов одинаковая или генерируется для каждого файла?

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

Поделиться сообщением


Ссылка на сообщение

Не расшифровали файлы еще?

Изменено пользователем Vamerah

Поделиться сообщением


Ссылка на сообщение
Не расшифровали файлы еще?

Один человек пробует. Там после расшифровки ещё надо как-то текст от служебной инфы отделить, мда, есть над чем поработать.

Поделиться сообщением


Ссылка на сообщение

Ничего сложного не вижу. Используется Mersenne Twister + Kxu Random в качестве генератора ключа из сида. В данной игре сид 0xAE85A916. Расшифровка - один заход XOR.

Изменено пользователем h4x0r

Поделиться сообщением


Ссылка на сообщение

Обновление 2019 года.

Вся техчасть приспособлена. Просто игра будет переводиться ещё десяток лет, вот и всё. 

Скорее всего, войдёт в лимбо, кто знает. 
 

 

Количество строчек текста в игре

Общий рут - 19792
Рут Рисэ - 11282
Рут Чихо - 8503
Рут Рицуко - 9464
Рут Аяки - 8852

 

Всего — 57893 строчки

Количество слов в игре на английском

Общий рут - 181 456
Рут Рисэ - 103 300
Рут Чихо - 80 158
Рут Рицуко - 89 213
Рут Аяки - 86 233

 

Всего — 540360 слов

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас



Zone of Games © 2003–2024 | Реклама на сайте.

×