Текущее время: 09 сен 2010, 03:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 03 мар 2010, 01:18 
Не в сети
Завсегдатай
Аватара пользователя

Зарегистрирован: 25 май 2009, 12:12
Сообщения: 49
Награды: 1
Повелитель кода (1)
Буду первым, почему нет :)
Техническая информация, наверное, вся идёт в лабораторию, здесь опишу только использование.

Содержание комплекта
Полный комплект для перевода скриптов игр бренда Orbit и его суббрендов ROOT, CORE, Clover и Spica.
Комплект включает в себя:
  • Консольные распаковщик и упаковщик игровых архивов игровых архивов
  • Скрипты декомпилятора, компилятора и отключаемого внешнего ворд-враппера
  • Скрипт подсчёта размера текста

Комплект не гарантирует правильное отображение кириллического текста (или текста любой другой кодировки кроме Shift-JIS), поэтому для полного перевода на русский (или любой другой язык, кроме английского) необходимо содействие реверс-инжинера (хакера) для взлома exe файла новеллы.

Определение принадлежности игры игровому движку
Первый признак
Архивы игры имею расширение .PAK
Обычно игра содержит такие архивы:
  • BGM.PAK
  • GRAPHIC.PAK
  • SCR.PAK
  • SE.PAK
  • VOICE.PAK

Второй признак
Если посмотреть свойства exe файла, вкладку "Версия" в пункте "Комментарий" можно увидеть строку "TeethingRing 5.0.0.0 Project2".

Третий признак
Игровой архив начинается с ASCII символов "DataPack5".

Системные требования к комплекту
Скрипты компилятора и декомпилятора написаны на php поэтому в системе необходим установленный интерпретатор php5, скачать его можно по адресу http://windows.php.net/download/
Комплект работает только в среде Windows.

Использование
Для удобства использование в комплект включены .bat файлы для пакетного исполнения.
Для использования файлов в переменной среды Windows под названием Path должны быть прописаны пути к файлу php.exe.

Файл unpack.bat распаковывает и декомпилирует архив со скриптами. Для этого в папку с комплектом нужно скопировать файл SCR.PAK и исполнить файл unpack.bat. При этом в этой же папке должно появиться две папки:
scr - в ней содержатся закодированные скрипты
combscr - в ней содержатся полностью готовые для перевода скрипты
Скрипты для перевода содержат скрипты, полностью подготовленные для упаковки и редактирования, поэтому он содержит не только текст, но и все служебные команды. В основном текст, необходимый для перевода, заключён в теги
[FOLLOWSTR]
Текст для перевода
[\FOLLOWSTR]

Компилятор поддерживает комментарии. Признак комментария ставятся в начале строчки и им является два символа "//".
Первые две строчки являются служебными:
1) Число, которое будет использовано при запаковке, изменение его нежелательно.
2) Строчка "название скрипта". Может быть изменена, но в пределах 387 символов.
Начиная с третьей строки идут команды. Начиная с третьей строки разрешены пустые строки, единственное условие - не нарушать функциональность первых двух строк.

Файл pack.bat компилирует скрипты из папки combscr и помещает их в папку outscr. Затем, скрипты из папки outscr запаковываются в файл OutScr.pak.
В файле pack.bat можно раскомментировать строчку REM copy <откуда> <куда>, которая позволяет автоматически скопировать файл OutScr.pak на место исходного файла SCR.PAK в папке с игрой (не забудьте перед этим сделать резервную копию файла). Для раскомментирования нужно сделать следующее:
  • Убрать слово REM (обозначает комментарий)
  • Изменить путь к файлу OutScr.pak и файлу SCR.PAK в папке игрой
Чтобы уменьшить время компиляции файлов можно сделать небольшую хитрость:
Сразу же после декомпилирования скомпилировать скрипты, чтобы создалась папка outscr с файлами внутри.
Удалить или перенести в другую папку файлы из папки combscr которые не требуют перевода или же добавлять в папку файлы по мере перевода, ибо нетронутые файлы в скомпилированном виде есть в папке outscr.

Работа по управлению ворд-враппингом сводится к редактированию файла wordwrapper.php
Для включения/выключения ворд-враппинга следует изменять строчку вверху файла
$wwrap_enable = 1; // для включения
$wwrap_enable = 0; // для выключения
По умолчанию он включен.
Строчка
$wwrap_columnscount = 47;
отвечает за количество символов, разрешённое в строчке в игре. Измените его согласно актуальному значению.

Скрипт scr_kb_counter.php является вспомогательным и позволяет посчитать количество строк и размер текста для распакованных скриптов в папке combscr. Считается только незакомментированный текст, содержащийся в тегах FOLLOWSTR. Для подсчёта нужно выполнить скрипт (например из консоли, находясь в папке с инструментами набрать php.exe scr_kb_counter.php) и на экран выведется подсчитанное кол-во.

Известные баги и будущие улучшения комплекта
Баги
Комплект будет некорректно работать с играми, на которых были поставлены официальные патчи, так как ещё не внедрена поддержка патченных архивов.

Улучшения
Добавления в комплект инструментов для двухстороннего преобразования графики.

Скачать комплект
http://www.mediafire.com/?m2ijtifzizw


Последний раз редактировалось Nik_ 28 апр 2010, 15:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 15:02 
Не в сети
Фанат
Аватара пользователя

Зарегистрирован: 09 июл 2009, 11:16
Сообщения: 51
Вот тут один крутой программист похоже профессионально взялся за дело расковыривания архивов.

http://4otaku.ru/712


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 15:10 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 10 янв 2009, 09:50
Сообщения: 808
Откуда: Nsk
Да, впечатляет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 17:35 
Не в сети
Житель
Аватара пользователя

Зарегистрирован: 23 мар 2010, 17:22
Сообщения: 132
Награды: 4
Повелитель кода (4)
Это моя прога, только не сказал бы что она профессиональная, потому как можно сказать без интерфейса (правда с crass тоже самое). Занимаюсь только расковыриванием, заковыриванием обратно :) занимается Nik, которому я с февраля помогаю со сложными форматами архивов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 17:44 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 10 янв 2009, 09:50
Сообщения: 808
Откуда: Nsk
Интерфейс не так уж и нужен. Такие утилиты всё-таки обычно создаются не для массового пользователя.
Да и имхо когда приходится многократно перепаковывать одни и те же файлы, гораздо проще запустить пакетный файл, чем кликать кучу кнопок.

Количество поддерживаемых форматов весьма впечатлило.
Тут даже Yakouga 4 есть, которую я так и не осилил дальше первичной расшифровки xor-ом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 18:39 
Не в сети
Житель
Аватара пользователя

Зарегистрирован: 23 мар 2010, 17:22
Сообщения: 132
Награды: 4
Повелитель кода (4)
Так это про тебя Nik рассказывал... так вот Yakouga 4 НЕ ЗАШИФРОВАНА, там используется обычный zlib, байта 0x78 ты разве не заметил? Однако поддержка этого формата в моей открывашке ограничена, так как имен файлов в этих архивах я не нашел (возможно их там и нет), вытаскиваются только блоки данных. Еще там есть проблема с разбитыми на отдельные блоки wav файлами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 18:50 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 10 янв 2009, 09:50
Сообщения: 808
Откуда: Nsk
Странно, я отслеживал всё по отладчику. Там идёт явная расшифровка ключом CE 43 BD DC CE 98 C8 B9 89 4B A5 FE. Я делал дамп, ближе к концу отчётливо виднелись имена файлов, однако кроме них было ещё много неизвестных данных.
Подробнее тут:
http://honyaku-subs.ru/forums/viewtopic.php?f=17&t=115

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 19:03 
Не в сети
Житель
Аватара пользователя

Зарегистрирован: 23 мар 2010, 17:22
Сообщения: 132
Награды: 4
Повелитель кода (4)
Проверил, это я перепутал (сорри) Yakouga 4 с другой мелкой игрой с похожим названием. Всё правильно, этот формат шифруется 12 байтовым ключом, и достаточно прост. Кстати моя прога откроет эти dx3 архивы, неважно каким ключом их зашифровали. А ты что разбором архивов увлекаешся?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 23 мар 2010, 19:09 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 10 янв 2009, 09:50
Сообщения: 808
Откуда: Nsk
Просто люблю поколупаться в коде.
Эти навыки очень полезны в команде переводчиков, так как практически в каждой новелле приходится что-то подправлять.
Правда у меня опыта пока мало, могу разобрать простое шифрование (xor, смещение бит, вычитание, инверсию) и распознать стандартные типы сжатия (lzss, zlib), но не более. Ну и само собой выполняю всякие мелочи по правке кодовых страниц в CreateFont и т.д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 28 апр 2010, 13:21 
Не в сети
Новичок

Зарегистрирован: 28 апр 2010, 13:16
Сообщения: 1
Перезалейте первый комплект, ссылка умерла, а скачать хочеться


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 28 апр 2010, 15:03 
Не в сети
Завсегдатай
Аватара пользователя

Зарегистрирован: 25 май 2009, 12:12
Сообщения: 49
Награды: 1
Повелитель кода (1)
Перезалито.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [Orbit / ROOT / Clover / CORE / Spica] TeethingRing5
СообщениеДобавлено: 13 июл 2010, 12:09 
Не в сети
Новичок

Зарегистрирован: 29 май 2009, 21:44
Сообщения: 5
Написал небольшой скрипт, который вытаскивает текст (между FOLLOWSTR) в отдельные файлы и вставляет их назад.
Написан на Ruby, но я прицепил сюда собранный standalone exe.


Вложения:
exe.rar [971.91 Кб]
Скачиваний: 14
src.rar [1.12 Кб]
Скачиваний: 13

_________________
Proger_XP aka p4s | Анимешные картинки »
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
 cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB

Evangelion only Evangelion Not End! Всё Лучшее о Евангелион - Здесь! WinKiller Studio Zidane's Blog VNDb - Visual Novels Database