Извлечение данных из визуальных новелл. Часть 1




Архивы + картинки + некоторые тексты:















































Автор материала: Tester
Материал от пользователя сайта.

Translate 01 Сентября 2018 3849 Tester картинки, техника, техническим работникам, архивы, вскрытие, перевод, техниками, Визуальные новеллы, техчасть 4.9/73

Комментарии (27):
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
0
1 Dasgun   (01 Сентября 2018 13:40)
37873
ооо

0
2 proto_1   (05 Сентября 2018 15:46)
86312
Ух ты, нашел этот сайт абсолютно случайно через гугл, а тут статья оказывается вот вот была написана, 1 сентября, верно? Автор, помоги пожалуйста, хочу перевести японскую эроге Lowすぺっく, не знаю как извлечь текст а самое главное засунуть назад, может подскажешь чем? Файлы игры лежат в почти открытом виде, музыка в ogg, есть еще dbs и cgm, gan, не знаю что из этого нужно. Есть еще koe, но так понял это озвучка диалогов и g00, последнее выглядит интересно, но через Crass ничего не появляется, хотя вроде как все успешно, хоть с ключом, хоть без ключа. Через arc_conv.exe получилось извлечь арты в формате tga, но только 500 из 1к, и как самое главное назад то если что? Буду крайне благодарен если ответишь на мои вопросы funny

2
3 Tester   (05 Сентября 2018 22:59)
78951
1. Добавил в статью, что g00 можно вскрыть через arc_conv + небольшое тех. примечание.
2. Просьба скинуть данную игру с нужными файлами + копию сообщение мне на почту (testertesterovtesterovich@yandex.ru). В последнее время у меня времени маловато (даже до оставшихся трёх статей руки не доходят), так что вряд ли в ближайшее время смогу рассмотреть подробно, но примерные рекомендации дать смогу (для сего мне нужно посмотреть).
3. Ежели dbs, cgm и gan являются форматами файлов, то в самом лучшем случае dbs является SQL-бд (что маловероятно) (в худшем одним из многих самопильных скриптов). Очень вероятно, что именно там скрипты/тексты. cgm может/могут являться графикой (ещё одной) (в лучшем случае поддерживаемой "обычными" программами), по поводу gan сказать с ходу сложно.
4. Пока точно не знаю, чем перепаковывать данные архивы. Возможно, придётся работать с декомпиляторами и/или hex-редакторами. Но вначале стоит посмотреть остальные (кроме Crass и arc_conv) средства высокой универсальности, по которым когда-нибудь напишу статью.
5. Возможная причина того, почему Crass корректно не сработал на g00: кеевский g00 и ваш g00 являются разными архивами.
6. Возможно, стоит поискать некоторые форматы в теме работы со скриптами, по которой когда-нибудь напишу статью. Желательно запускать с Tor.

0
4 proto_1   (06 Сентября 2018 15:59)
86312
Игра на движке Siglus Engine. Вчера долго копался, на гитхабе нашел такую штуку как SiglusExtract. (По вашей ссылке кстати она тоже есть в спойлере с движком) С ее помощью смог распаковать g00 в png, причем прям как нужно, назад можно запаковать в g00 через vaconv, ну уже все кнопочки худо бедно можно перевести. Однако с текстом все равно совершенно не знаю то делать. https://github.com/xmoeproject/SiglusExtract
Вот ссылка на SiglusExtract, очень крутая штука, можно, кроме распаковки, еще и патчить экзе и есть опция извлечения текста и еще что то, связанное с scene.pck и gameexe.dat, я так понимаю это два ключевых файла, где то в них текст, но ни в какую не получается получить его :С

0
6 ever17   (08 Сентября 2018 00:56)
84505
Скинь игру мне полностью, посмотрю где текст
madness

0
5 ever17   (08 Сентября 2018 00:54)
84505
Извлечение данных из визуальных новелл. Часть 1

Архивы + картинки + некоторые тексты:

wow
Во первых, если содрали с forums.fuwanovel.net то удосужитесь пофиксить сылки на тулсет. Вот например - Метод от insani - на nscripter мертвый. Так как этот сдк скачать невозможно
bad

0
9 Tester   (08 Сентября 2018 10:12)
78951
1. С fuwanovel здесь чуть меньше 1 части (из 4).
2. Благодарю. Ссылки на метод от insani пофикшены.

0
7 ShantiNya   (08 Сентября 2018 01:57)
86381
Желаю переводить тайпмуновский Mahoutsukai no yoru, только начал искать инфу. Здесь есть, чем поживиться?

0
8 Tester   (08 Сентября 2018 10:04)
78951
С тайпмуновскими играми не работал.

Тут надо смотреть на движок/форматы/наличие доп. шифрования.

0
10 ShantiNya   (09 Сентября 2018 23:14)
86381
>Тут надо смотреть на движок/форматы/наличие доп. шифрования.
Реально можешь помочь? За так, или за денюшку?

если что, скрин оригинальной, пропатченной игры
https://cdn1.savepice.ru/uploads/2018/9/9/bf1c864102a8bf714fb4b13b916429ca-full.jpg

Некий Макджон переводит её с японского на английский, чтобы читнуть переведённые им главы, достаточно кинуть 3 файла типа "patch.xp3" в savedata/patches

0
11 Tester   (10 Сентября 2018 09:37)
78951
Смотря какая помощь.
У меня нет времени рыть подробно и создавать фичи самому, однако могу найти методы и подсказать.

Судя по всему, вы имеете дело с зашифрованным KiriKiri. Посмотреть, как работать с сим в связке с .sig, можно здесь.

0
12 proto_1   (10 Сентября 2018 22:26)
86312
Ту игру на движке Siglus Engine пока забросил, решил попробовать что нибудь попроще. Итак, есть KiriKiri, файл data.xp3, если перетащить его на arc_conv.exe (знаю, примитивнее некуда, на работает), то этот файл распакуется и в папке появятся все ресурсы игры. В папке scenario куча файлов ks. Ладно, их можно открыть в ворде и перевести, главное не повредить структуру. Как назад то все это дело запаковать? И еще, не будет ли нюансов с этой кирилицей в японской игре, запускаемой только из под японской локали?

1
13 Tester   (11 Сентября 2018 09:22)
78951
С обычным KiriKiri всё значительно проще.

Можно даже не переносить в arc_conv. Двойной клик на файл arc_conv.exe, там выбирается нужный файл, выбираешь, далее распаковывает в новую папку, коя еси в директории, где и data.xp3.

Папку, в кою распаковалось, желательно перенести в директорию arc_conv и переименовать (допустим, в Hacked).

Там нужно вносить изменения, а для запаковки делаешь в директории arc_conv некий батник, допустим, Pack.bat.

Внутри него нужно написать (все названия приведённые в примерах):

@echo off
arc_conv.exe --pack xp3 Hacked data.xp3
pause

Скрипты .tjs и .ks желательно открывать с помощью Notepad++. Гораздо удобнее, чем в ворде.

Нюансов с кириллицей... Есть такие:
1. При использовании стандартного шрифта (вывод кириллицы шрифтом без поддержки кириллицы. Не знаю, всегда ли сие работает) бывает значительное расстояние между буквами. Решается просто: редактируется exe-шник HEX-редактором. Нужно найти 00 C6 43 17, после сего должно стоять 80, кое нужно заменить на 81.
2. Ежели есть файлы .csv, их нужно переводить либо костылями (в first.ks вроде импортируются из них БД, работа с импортируемыми БД как со стандартными БД), либо системными кодировками с замещением всех иероглифов (ежели хотите нормальную поддержку) (в опр. случаях может не кодиться символ "я").
3. Нужно узреть причину, по коей запускается только с яп. локалью. Тут точно перечислить все не могу, но это могут быть кодировки. Стоит перекодить все .ks и .tjs в кодировку UCS-2 LE (Little Endian) и надеяться, что данная версия KiriKiri оную поддерживает. Таким образом кириллица будет поддерживаться в скриптах, кроме .csv (по поводу данного формата см. п. 2).

Таким образом, кириллица будет поддерживаться в .tjs, .ks, частично в .csv + выводиться либо стандартным шрифтом (не факт), либо вставленными после.

0
14 Placebo   (24 Сентября 2018 16:17)
86996
Спасибо, полезная подборка smile_63

Наткнулся на новеллу с примерно такими названиями файлов:
CG.afa
Flat.afa
Font.fnl
Pact.afa
Sound.afa
Voise.afa
Вроде всё понятно кроме двух моментов. Правильно ли я понимаю, что в файле Flat лежат задние фоны? И что может находится файле Pact?

0
15 Tester   (24 Сентября 2018 18:04)
78951
Ну, во Flat, исходя из значения слова, действительно находятся скорее всего фоны. Но возможно, что в CG находятся и фоны, а в Flat находятся спрайты. Может быть, что во Flat находятся и спрайты, и фоны.

Что касается Pact... Возможно, тут скрипты + системное.

0
16 Gordan2   (06 Ноября 2018 20:30)
88612
А как из распакованы файлов текстовый документ сделать что -бы поддерживал иероглифы. возможно я предполагаю в чем проблема но я не могу найти решения для 10 винды

0
17 Gordan2   (07 Ноября 2018 14:10)
88612
а все решил проблему. только появилась новая проблема как это запаковать

0
18 Tester   (07 Ноября 2018 15:54)
78951
Зависит от движка/игры и прочего. Иногда помогает просто порт извлечённого на другой движок.

0
19 Gordan2   (07 Ноября 2018 20:45)
88612
как узнать движок и как его перенести. формат в который надо переделать xp3

0
20 Tester   (08 Ноября 2018 09:41)
78951
А, xp3. Сие еси KiriKiri. Ежели распаковалось без проблем (нет доп. шифрования), то запаковать можно довольно-таки многими методами.

Например, можно использовать arc_conv. Поместить папку, где еси файлы, должные для запаковки, в директорию arc_conv. Именовать оную, скажем, Pack.

Потом в директории arc_conv создать .bat-ник, где написать сие:

@echo off
arc_conv.exe --pack xp3 Pack <name>.xp3
pause

Вместо <name> должно быть необходимое название нового файла. Допустим, data.

0
21 Gordan2   (08 Ноября 2018 21:31)
88612
я очень плохо знаком с батниками(впервые от тебя услышал) вот директория где я создал все что ты сказал D:\may program\XP3open
здесь я создал батник с именем OpenWord.bat и перенес распакованный фаил xp3, переименовав его в Pack.
в созданном батнике прописал это
@echo off
arc_conv.exe --pack xp3 Pack <data>.xp3
pause
далее запускаю батник а он не находит фаил. wow

0
22 Tester   (09 Ноября 2018 08:32)
78951
Во-первых в той директории должен быть установлен arc_conv и быть exe-шник оного (нажать пред использованием на build.exe в директории arc_conv).

Во-вторых, вместо <data>.xp3 надо написать имя файла. Т.е., допустим, нужно создать архив lenin.xp3. Тогда вторая команда будет:
arc_conv.exe --pack xp3 Pack lenin.xp3
И так далее с другими названиями (но, опять же, для других форматов будут иные команды).

1
23 Gordan2   (09 Ноября 2018 12:35)
88612
все спасибо получилось happy

0
24 proto_1   (30 Декабря 2018 03:30)
86312
Скажите пожалуйста, если игровые архивы из файлов с расширением .dat распаковываются через Crass, это движок KiriKiri? Самое главное, как назад запаковать папку с измененными файлами в .dat?

0
25 Tester   (14 Января 2019 01:02)
78951
Crass является так называемым "средством высокой универсальности". Распаковывает многое, но, как вы уже можете доказаться, не всё.

KiriKiri Engine использует архивы .xp3 (возможны ещё некоторые вариации xp + модернизации KiriKiri могут использовать чуть другие архивы + в .xp3 может быть встроено шифрование), но вот .dat там использоваться не должно (псевдо.dat может быть гипотетически, но псевдоархивы при сим движке ни разу не встречал).

При сим различных архивов .dat довольно-таки много. И оные используются различными движками. Таким образом, нужно смотреть по игре, по движку. Теоретически инфу по движку можно найти в скриптах игры или порыть в Hex-форме файлов движка (можно пореверсить .exe-шник и порыть строки).

Например, некоторые .dat можно запаковать, используя GARbro иль arc_conv.

0
26 proto_1   (14 Января 2019 15:45)
86312
Попробовал. GARbro классная штука, получилось в эти dat архивы залезть как будто это какой нибудь rar. Попытался изменить картинку, появляющуюся при включении игры, но не получилось(
Есть файл Instdata.pak
В нем есть PSetup. ini
В нем такой текст

Как видно, в нем есть перечень используемых игровых архивов, их размер до байта и md5 хеш. Проверил на оригинальных .dat, все совпадает. Попробовал отредактировать нужную картинку. Она в формате epa, GARbro ее отображает, конвентировал в tga (фотошоп не открывает epa), в фотошопе чирканул по ней чтобы проверить, будет ли все это работать и изменил расширение руками назад на epa, GARbro не может конвентировать в epa (хотя если честно, я ничего толком не знаю ни про tga, ни про epa, по сайту поиск ничего не дает). Пересобрал архив назад в dat, изменил ini в Instdata.pak, пересобрал его в пак, но, ожидаемо, игра так и не запустилась. Менять расширения изображений руками была слишком глупая идея? Может быть, направите на верный путь? Заранее спасибо за ответ.

0
27 Tester   (25 Января 2019 21:18)
78951
Хм-м...

.epa еси Pajamas Adventure System Images.

Простите, вы как именно изменили расширение "руками"? Проанализировали форматы, вручную написали библиотеку перекодировщика и использовали её, или просто заменили в названии файла ".epa" на ".tga"?

Ежели вы заменяли так, то это, эм-м... Своеобразное решение. По сути вы получили псевдо.epa, который по факту остаётся .tga.

Попробуйте протестировать, воспринимает ли движок отличные от .epa форматы картинок.

Вот алгоритм дешифрования .epa. По сути осталось только написать алгоритм шифрования, используя алгоритм дешифрования.

Помните, всегда еси воистину радикальный способ: портировать игру на иной движок.

===

Более подробная информация по сему движку и картинкам в:
- Комментариях "Извлечение скриптов из визуальных новелл. Часть 1".
- "Извлечение скриптов из визуальных новелл. Часть 2".