![]() |
#1 |
Датамайнинг клиента игры
![]()
Ссылки на полезные ресурсы:
Публичный архив изменений по датамайну на «E7 Vault» Ссылки на полезные посты: потрошилки пакетов/архивов: data.pack (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159273387 (версия 2.7 от 2021.12.02)*.bank (скрипты на python, только под Windows) - https://forums.goha.ru/showthread.ph...#post159275908описание потрошения звуковых файлов (.bank) - https://forums.goha.ru/showthread.ph...#post158649085 конверсия формата файлов: db-файл в csv-формат (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159274578(ВНИМАНИЕ! поддерживается пока только старый формат, использовавшийся до патча от 2021.06.10)scsp-файл в json-формат (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159272975(ВНИМАНИЕ! поддерживается пока только старый формат, использовавшийся до патча от 2021.06.10) Если у кого есть мысли, идеи, предложения или даже конкретные "программные продукты" для датамайна Epic Seven - пишем, не стесняемся. ![]() ![]() В случае, если есть что обсудить со мной, но лень регистрироваться на гохе, меня можно найти и на reddit: /u/nORbDragon
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
Last edited by nORb Dragon; 12.01.2022 at 00:11.
1 пользователь оценил это сообщение: Показать
|
|
Views: 199197
![]() |
![]() |
#276 | |||
|
Re: Датамайнинг клиента игры
Перед убеганием из дома успел урвать с собой на работу обновлённый корейский войс-пак.
Есть свежая озвучка. Озвучка для c3132 и c3135. c3135 - это уже знакомая некоторым 3★: ![]() Кто такой c3132 - хз, но тоже 3★, без вариантов. Пока "хз". Надо дата-пак свежий потрошить. Он у меня остался дома.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#277 | |||
|
Re: Датамайнинг клиента игры
Тыкс. Ну, все вроде в теме, что в клиенте игры незашифрованы остались только картинки и кучка бесполезных для большинства игроков файлов. Поэтому, выкладываю только картинки.
Если смотреть датамайн за сегодня, можно наверное выделить только небольшое количество картинок. Остальные вы сможете просмотреть и без моего упоминания, пройдя по ссылке в конце поста. id c3132, официальное имя его мне неизвестно:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Ну и я уже упоминал, но повторюсь: в "пакет озвучки" (корейский) завезли озвучку для двух 3★ персонажей - c3132 и c3135. Итого мы имеем уже трёх 3★ новых персонажей. c3132 / c3134 / c3135Кстати, есть у меня подозрение, что: - c3132 - blade_dark (3★ dark) - c3134 - blade_light (3★ light) - c3135 - blade_ice (3★ ice) Но это так, мысли вслух. Ибо я до 4го эпизода не дошёл. В бою с ними не пересекался. Даже как звать не в теме. Ссылка на полновесные альбомы картинок из датамайна - https://www.norbdragon.com/uploads/e...2021/20211125/
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#278 | |||
|
Re: Датамайнинг клиента игры
buttreynolds вышел на связь. Пояснил касаемо интересующих меня форматов sct и scsp.
С sct-файлами вроде понятно всё, но надо поиграться. С scsp-файлами будет наверное затык... ну, размыто ответил. Задал ему уточняющие вопросы, пока молчит. Может и не станет отвечать. ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#279 | |||
|
Re: Датамайнинг клиента игры
Тыкс. Конвертить sct в png я научился.
![]() Осталось раскурить scsp, который используется для компоновки изображения из "кусочков". ![]() Ну а это вам в качестве "доказательства", что "йа смогЪ!". ![]() Скин Мерседес
![]() ![]() Ну и два новых НПЦ (статика, но всё равно запихнуты в sct) ![]() ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
1 пользователь оценил это сообщение: Показать
|
![]() |
#281 | |||
|
Re: Датамайнинг клиента игры
Собери себе идеальную женщину из предложенных кусочков!
Если хочешь, могу ещё деталей накидать из других файлов. ![]() ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#283 | |||
|
Re: Датамайнинг клиента игры
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#284 | |||
|
Re: Датамайнинг клиента игры
Буду краток: креативы (разрабы э7) - ещё те...
Подлиннее: всё так же ковыряюсь с scsp-файлами. Это те, в которых описание "правильной сборки сисек Мерседес", в том числе параметры анимации. Благодаря туманным намёкам от buttreynolds, у меня возникла мысль попробовать немножко другой подход. И кое-что получилось. Собрал конвертер в json-файл (под e7herder, допустим), но пока только для "статичных картинок" (где тупо выражение морды лица переключается, но анимации нет). Следующий этап - доработать конвертер, чтоб всю инфу об анимации тоже пихал в json. Сравниваю свои результаты с файликами из e7herder. Вроде "почти" одинаково. За мелкими исключениями. На глаз в e7herder в сгенерированной картинке модельки разницы не заметил. ![]() Ради интереса попробовал "свежие" модельки перегнать. Неполучилось, дало ошибку. Формат реально переделали. Я сейчас "колдую", чтоб был конвертер под модельки экспортированные из spine v.2, подгоняю свой конвертер под формат e7herder. А нужно будет потом ещё искать концы для нового формата моделек, экспортированных из spine v.3. ![]() Есть мысли... возможно, что и db-файлы зашифрованы в подобном стиле сейчас, как всегда были зашифрованы scsp и sct файлы. ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#285 | |||
|
Re: Датамайнинг клиента игры
Яхз, читает ли кто этот топик. Особенно из тех, кто "в теме". Но всё равно оставлю это здесь.
![]() Есть ли у кого идеи, как можно превратить/декодировать/конвертнуть код цвета (96% уверенности, что это оно) из одного неизвестного цветового режима в код rgba-режима? Примеры моих мучений: Code:
#8382823E --> #FFFFFF41 #00000000 --> #FFFFFF00 #C5C4443F --> #FFFFFFC4 ![]() Добавлено через 17 минут Всё. Сам себе отвечу. Разрабы - конченные... ![]() На самом деле это выглядит так: Code:
00 00 80 3F 00 00 80 3F 00 00 80 3F 83 82 82 3E --> #FFFFFF41 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 --> #FFFFFF00 00 00 80 3F 00 00 80 3F 00 00 80 3F C5 C4 44 3F --> #FFFFFFC4 Гении, сцуко! 16 байт расходовать на RGBa, которое замечательно помещается в 4 байта! ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
Last edited by nORb Dragon; 29.11.2021 at 01:31. Reason: Добавлено сообщение |
![]() |
#287 | |||
|
Re: Датамайнинг клиента игры
Я вообще сначала думал, что это девка. Потом уже, после некоторых скринов на реддите и вглядывания в область груди, осознал - це мужик! Трапы атакуют!
![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#288 | |||
|
Re: Датамайнинг клиента игры
Очередная "изумительная задачка" от разрабов э7.
![]() Code:
55 3C 09 41 EC 51 D8 BF 2B 2B FE C0 48 E1 AC C1 83 A9 DC C1 71 3D AA C1 F8 0D 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 B0 2C 5D C2 9A 99 C1 41 31 F1 A5 C1 8F C2 B3 41 F0 1B 27 BF E1 7A A2 41 0A D7 03 41 EC 51 D8 BF E1 7A 04 C1 48 E1 AC C1 29 5C DF C1 71 3D AA C1 A4 70 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 5C 8F 5D C2 9A 99 C1 41 D7 A3 A8 C1 8F C2 B3 41 A4 70 7D BF E1 7A A2 41 66 DA 16 41 EC 51 D8 BF 0A EF E2 C0 48 E1 AC C1 7B DA D5 C1 71 3D AA C1 F1 14 78 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 A9 33 5C C2 9A 99 C1 41 29 22 9F C1 8F C2 B3 41 68 14 4B 3E E1 7A A2 41 55 3C 09 41 EC 51 D8 BF 2B 2B FE C0 48 E1 AC C1 83 A9 DC C1 71 3D AA C1 F8 0D 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 B0 2C 5D C2 9A 99 C1 41 31 F1 A5 C1 8F C2 B3 41 F0 1B 27 BF E1 7A A2 41 Code:
"vertices": [ -0.10359, 0.0888, 0.10452, 0.04209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.36702, -0.26988, -0.39985, -0.2182, -0.37242, -0.26208, 0.15728, -0.65833 ] "vertices": [ 0, 0.18258, 0.13976, -0.09882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.21664, -0.1593, -0.23601, -0.12879, -0.21982, -0.15469, -0.58355, 0.08629 ] "vertices": [ -0.70013, -0.42529, -0.08866, 0.81469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.19152, -0.87615, -1.29809, -0.70837, -1.20904, -0.85083, 4.21899, -4.74075 ] "vertices": [ -0.10359, 0.0888, 0.10452, 0.04209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.36702, -0.26988, -0.39985, -0.2182, -0.37242, -0.26208, 0.15728, -0.65833 ] ![]() Гении. Одно слово - гении. Снимаю шляпу перед автором e7herder. Или тем, кто для него писал декодер scsp-файлов. Я почти набросал свой декодер. Зубки обламываю и облизываю описание ffd в блоке animations. Ну или "по-умному": Free Form Deformation, что бы это ни значило. Остальное в файле вроде разобрал на запчасти. Но надо будет потом контрольный забег устроить, пробежаться по всем старым персонажам (до изменений в формате scsp в июне 2021), убедиться что расхождений с существующими json с дампа e7herder я своим декодером не делаю. Добавлено через 47 минут Что-то нашёл, только пока не понял, что... ![]() Есть система. Блоки по 18 4х байтных последовательностей. Каждая вторая последовательность в одном блоке идентична каждой второй последовательности в остальных блоках. ![]() ![]() Code:
55 3C 09 41 EC 51 D8 BF 2B 2B FE C0 48 E1 AC C1 83 A9 DC C1 71 3D AA C1 F8 0D 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 B0 2C 5D C2 9A 99 C1 41 31 F1 A5 C1 8F C2 B3 41 F0 1B 27 BF E1 7A A2 41 <- 18 0A D7 03 41 EC 51 D8 BF E1 7A 04 C1 48 E1 AC C1 29 5C DF C1 71 3D AA C1 A4 70 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 5C 8F 5D C2 9A 99 C1 41 D7 A3 A8 C1 8F C2 B3 41 A4 70 7D BF E1 7A A2 41 <- 18 66 DA 16 41 EC 51 D8 BF 0A EF E2 C0 48 E1 AC C1 7B DA D5 C1 71 3D AA C1 F1 14 78 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 A9 33 5C C2 9A 99 C1 41 29 22 9F C1 8F C2 B3 41 68 14 4B 3E E1 7A A2 41 <- 18 55 3C 09 41 EC 51 D8 BF 2B 2B FE C0 48 E1 AC C1 83 A9 DC C1 71 3D AA C1 F8 0D 79 C2 CD CC 7C C1 B8 1E 9D C2 33 33 4F C1 A4 70 95 C2 C3 F5 B6 41 B0 2C 5D C2 9A 99 C1 41 31 F1 A5 C1 8F C2 B3 41 F0 1B 27 BF E1 7A A2 41 <- 18
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
Last edited by nORb Dragon; 01.12.2021 at 01:42. Reason: Добавлено сообщение
1 пользователь оценил это сообщение: Показать
|
![]() |
#289 | |||
|
Re: Датамайнинг клиента игры
Замечательно. Плюнул, решил пока скипнуть этот набор байтов, проанализировать следующий набор байтов описания ffd... и... там находится нужная мне последовательность float-данных без всяких регистраций и смс!
![]() ![]() Спрашивается - а что тогда эта хрень делает в начале блока? ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#291 | |||
|
Re: Датамайнинг клиента игры
Всё. Мой конвертер полностью перегоняет Расу его scsp-файл в json-файлик для e7herder. Боюсь проверять на других персах, наверняка какая-нибудь хрень и там творится.
![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#292 | |||
|
Re: Датамайнинг клиента игры
Погонял, подрихтовал, вроде работает.
![]() Вечером ещё погоняю, потесчу, уберу "служебные полотна с байтами" и наверное выложу сюда. Особо не жалко, ибо только со старым форматом оно у меня сейчас работает. А персонажи старого формата давно в дампе e7herder есть. Так, вдруг кому в "образовательных целях" будет интересно. Вдруг кто любит чертыхаться и охреневать от гениальности разрабов э7, как они переложили json в свой гениальный структурированный формат scsp. Ещё раз упомяну, что собрал "перегонщик в ![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#293 | |||
|
Re: Датамайнинг клиента игры
Тыкс. Задолбался. А ведь ещё надо воевать.
![]() В общем, если вдрууууууууууууг кому нравится ковыряться со старьём (scsp под spine v2 иначе не назовёшь) и с чужим кодом, выкладываю ссылку на свой конвертер scsp в json (под формат e7herder). То есть данная версия конвертера рассчитана на работу с файлами, созданными до патча от 2021.06.10. Проверялась работа конвертера только на содержимом папки portrait. Что будет, если попробовать конвертить scsp-файлы из других папок - не проверялось. Основная задача для данного конвертера - сборка json-файлов для просмотра портретов персонажей на e7herder-клонах. Ссылка для скачивания - Epic7 scsp2json File Converter v.1.0 (~3.3mb) Для использования нужен питон не ниже... хз какой версии, но думаю не ниже 3.6. ![]() Запускать через командную строку вида: Code:
python epic7_scsp2json.py [optional: options] <.scsp file for convert to json> <optional: filename for new .json file (result)> -minify - собирает минималистический json в одну длиннющую строку без переносов каретки и т.д. Без этой опции собирает "читабельный для глаз" json, где много переносов каретки и есть даже отступы для блоков. Обязательно указывать хотя бы имя scsp-файла, который надо конвертнуть в .json. Имя файла для результата указывать необязательно. В случае, если его не указать, скрипт просто припишет к названию scsp-файла дополнительно ".json". В архиве в папке examples есть несколько файлов для экспериментов. Если будет давать ошибку, что не найден lz4: Code:
python -m pip install --upgrade pip pip install --upgrade setuptools pip install wheel pip install lz4 При установке тулсов выбираем только левый верхний пункт, где чего-то там про разработку классических приложений на c++. После установки тулсов потребуется перезагрузка. После перезагрузки снова пытаемся установить lz4. Должно установиться.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
Last edited by nORb Dragon; 02.12.2021 at 14:17.
1 пользователь оценил это сообщение: Показать
|
![]() |
#294 | |||
|
Re: Датамайнинг клиента игры
Ну, давно не обновлял потрошилку для data.pack. В принципе, особо обновлений и не требовала. Но всё равно решил обновить, частично подчистить код.
Ссылка для скачивания - Epic7Ripper v.2.7 (~11 kb) Для использования нужен питон. Запускать через команду: Code:
python epic7ripper_v2_7.py [optional: options] <optional: folder for rip result> -wtempfile - если указать эту опцию, то временный файл с декодированным data.pack не будет удалён по завершении работы. Вдруг кто любит ковыряться? Найти его можно будет в таком случае в папке с результатом потрошения под именем data.pack.decoded Для работы необходимо: - наличие в папке со скриптом файла data.pack - наличие свободного места не менее размера data.pack * 2 Допустим, если data.pack занимает 3 гб, то в идеале нужно свободного места в районе 6 гб. Первая половина нужна для хранения дешифрованного файла data.pack. Вторая половина - для хранения результатов потрошения data.pack (кучи файлов, в том числе png-картинок). Результат работы скрипта будет сохранён в папку с указанным именем. Если имя папки не будет указано, то будет результат будет сохранён в папку с именем даты запуска скрипта (yyyymmdd). Если папка существовала, то перед стартом работ скрипта она будет полностью очищена. Алгоритм для работы с data.pack немножко пересмотрен: выкинут в окно код по работе над декодированием db-файлов (формат изменился с 2021.06.10, способ декодирования не найден). Так как скрипт скурпулёзно просматривает побайтово всё содержимое data.pack, возможно вылавливание внезапных сюрпризов и "дублей" файлов (разные версии). Выяснить, который из этих "дублей" - последняя версия, а кто из них - "устаревший мусор", при подобном подходе к потрошению data.pack, довольно сложно. Поэтому было принято решение просто сохранять каждый файл отдельно, дописывая суффиксы вида (2), (3) и т.д. к имени файла согласно их фактическому расположению в data.pack. Возможен вариант, что "самая свежая версия" файла носит не оригинальное наименование, а наименование с суффиксом... например - (3). Если будете активно работать с результатом датамайна и заметите наличие этих суффиксов в альтернативных версиях нужных вам файлов - будьте аккуратны при выборе, какой именно файл "окончательный". В случае с db-файлами можно предположить, что "чем больше файл по байтам - тем свежее". С картинками - сложнее. Для "идеального" датамайна с минимальным количеством "мусора" и "дублей", лучше всего удалить полностью файл data.pack из папки игры на эмуляторе, после чего запустить клиент игры и пропатчеваться. Да, будет скорее всего долго (как установка игры с нуля, ~3gb патч), но оно того стоит, imho.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#295 | |||
|
Re: Датамайнинг клиента игры
Возвращаясь к старым новым добрым любимым воротам. И да, я не баран, а дракон.
![]() Специально выбрал самые короткие шифрованные фразы. Code:
no | id? | wtf? |bytes| encoded str | | |count| =================================================================================================================================== 832 | 09 09 38 33 30 | 1b 6b 00 00 46 79 7c fd | 24 | ea 6b 87 1b 70 33 56 ba ae 68 f1 29 42 f2 b4 f5 94 1e 5e b8 f1 d0 25 d3 966 | 09 09 39 36 34 | 1b 6b 00 00 2d 3f 01 df | 24 | 66 57 43 4d cb 66 dc 20 01 8d 81 a6 c1 c2 dc 5e ee cf 2c 56 30 54 dd a7 967 | 09 09 39 36 35 | 1b 6b 00 00 03 70 e7 a8 | 28 | f9 9d 39 7e 0d e9 c5 1f b9 f4 f3 90 dd a8 4e a8 7f 17 a8 49 27 c6 d8 d9 3f d2 30 17 1035 | 09 09 31 30 33 33 | 1b 6b 00 00 06 d6 43 fe | 24 | a5 fe ea 65 44 83 bd e5 83 02 e7 05 38 bc 1d 3b 6e 44 6c 41 3f 3a fc 75 1043 | 09 09 31 30 34 31 | 1b 6b 00 00 59 88 99 36 | 24 | ef 29 8a 0d 4c 17 d0 f0 be 79 85 04 ee c5 26 99 57 3f 5b 86 0e d5 a6 a7 2648 | 09 09 32 36 34 36 | 1b 6b 00 00 96 3d 70 aa | 20 | 14 02 90 85 0f 94 f8 fb 09 84 92 be fe 8e 2b e2 e4 e7 fe c8 3240 | 09 09 33 32 33 38 | 1b 6b 00 00 86 dd c9 1c | 24 | d7 7c e1 03 aa 93 a0 88 4e ef 25 16 6b dc 72 52 84 ec c1 6e 3b 82 4c 37 Code:
no | string | bytes| hex | | count| =============================================================================== 832 | "sn_me I " | 9 | 73 6E 5F 6D 65 00 00 49 00 966 | "sn_boy Boy " | 12 | 73 6E 5F 62 6F 79 00 00 42 6F 79 00 967 | "sn_girl Girl " | 14 | 73 6E 5F 67 69 72 6C 00 00 47 69 72 6C 00 1035 | "sn_roy Roy " | 12 | 73 6E 5F 72 6F 79 00 00 52 6F 79 00 1043 | "sn_leo Leo " | 12 | 73 6E 5F 6C 65 6F 00 00 4C 65 6F 00 2648 | "go Go " | 7 | 67 6F 00 00 47 6F 00 3240 | "con Hit " | 9 | 63 6F 6E 00 00 48 69 74 00 ![]() ![]() Столбец "wtf?" - яхз используется при шифрации или нет. Но решил его выложить, вдруг у кого будут какие идеи, и этот столбец окажется ключевым. Иначе нахрена он в db-файле. ![]() Столбец "id?" скорее всего бесполезен. Тупо нумерация строк в строковом представлении с двумя символами табуляции спереди (#09).
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#296 | |||
|
Re: Датамайнинг клиента игры
Продолжаю делиться своим старьём.
Очередные мои скрипты на питоне, связанные с Epic7. На этот раз по конвертации epic7 db-файлов в csv-формат. Получившиеся файлы в csv-формате потом легко открываются/импортируются в MS Excel. Параметры: кодировка "utf-8", разделитель "символ табуляции", формат данных для ВСЕХ столбцов - "текст" (иначе могут получиться косяки в части ячеек, Excel любит автоматически превращать набор символов в дату и т.д. т.п.). Как обычно, предупреждаю: работать будет только с файлами, выпущенными ДО патча от 2021.06.10. Начиная с упомянутого патча в db-файлах зашифрована каждая отдельно взятая строка данных таблицы. Понимания, как оно зашифровано, у меня всё ещё не возникло. Ну, в посте выше я вам дал несколько примеров с чёткой состыковкой "должно быть <-> сейчас". ![]() Ссылка для скачивания - Epic7 db2csv File Converter v.1.0 (~16 mb) Относительно большой размер архива из-за приложенных файлов для тестирования. Сами скрипты без "примерочных файлов" весят копейки. Для использования нужен питон. Запускать через команду: Code:
python epic7_db2csv.py [optional: options] <.db file for convert to csv> <optional: filename for new .csv file (result)> -key - если указать эту опцию, то будет создан отдельный файл с расширением .key, содержащий подобранный скриптом ключ к первичной дешифровке db-файла -wtempfile - если указать эту опцию, то временный файл с декодированным .db не будет удалён по завершении работы. Вдруг кто любит ковыряться? Найти его можно будет в таком случае с расширением .db.decoded Обязательно указывать хотя бы имя db-файла, который надо конвертнуть в .csv. Имя файла для результата указывать необязательно. В случае, если его не указать, скрипт просто припишет к названию db-файла дополнительно ".csv". В архиве в папке examples есть несколько файлов для экспериментов. В папке 20210527 находятся файлы, которые были созданы до пресловутого патча. В папке 20210610 [no algorithm for that] - собстно файлы, которые находились в клиенте игры с этой знаменательной даты. Если кто в теме, как раскуривать db-файлы в новом формате: буду не против услышать от вас об этом поподробнее. Можно как здесь (в личку?), так и на реддите ( /u/nORbDragon ).
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#297 | |||
|
Re: Датамайнинг клиента игры
Подправил прикреплённый пост. Чтоб нагляднее было. Ну и вписал "крик души" для тех, кому возможно тупо лень регистрироваться на гохе.
![]() Следующее, что сюда выложу... это будут очередные скрипты на питоне. Теперь на тему потрошения звуковых пакетов .bank, где у epic7 хранится музыка, озвучка персонажей, звуковые эффекты и т.д. На основе поста из этой же темки - https://forums.goha.ru/showthread.ph...#post158649085 Только сразу предупрежу, что они будут работать только под виндой. Половина скрипта - запуск приложенных к скрипту exe-файлов с нужными параметрами.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#298 | |||
|
Re: Датамайнинг клиента игры
Если кто здесь таки скачивал до момента "сейчас" потрошилку data.pack из поста выше ( https://forums.goha.ru/showthread.ph...#post159273387 ), лучше перекачайте эти 11 кб. Мелкий "хот-фикс", недостойный отдельной минорной версии.
![]()
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
|
![]() |
#299 | |||
|
Re: Датамайнинг клиента игры
Продолжаю. Очередные мои скрипты на питоне. Как и упоминал выше, на этот раз по потрошению bank-файлов.
В принципе, можно и ручками это делать согласно уже расписанному в этой темке. Но ведь можно и автоматизировать? Переработал свои старые наброски в "экспортный вариант". ![]() По техническим причинам (использование exe-файлов) работать данный скрипт будет только под Windows! Ссылка для скачивания - Epic7 Debank v.1.0 (~9 mb) Относительно большой размер архива из-за необходимости использовать quickbms.exe и fsb_aud_extr.exe. Они уже там, в архиве. Сами скрипты без "субподрядчиков" весят копейки. Для использования нужен питон. Запускать через команду: Code:
python epic7_debank.py Перед запуском не забываем закинуть bank-файлы в папку input, которые вы бы хотели распотрошить. Скрипт смотрит только на файлы, по вложенным папкам внутри input он искать не будет. Результат работы вы найдёте в папке result (будет создана автоматически, если у вас её нет). Ну и напоследок отвечу сразу на вероятный вопрос. [В]: Где находятся bank-файлы Epic7 с музыкой, звуковыми эффектами и озвучкой? [О]: Не знаю, как на устройствах "яблочной" продукции, но на андроидных (сужу по эмулятору) открываем файловый менеджер и идём по маршруту:[Android] > [data] > [com.stove.epic7.google] > [files] > [data.unpacked] > [sound]В этой папке находятся bank-файлы игры с музыкой (bgm) и звуковыми эффектами + вложенная папка с пакетом озвучки персонажей (папка "ko" - корейская озвучка). И ещё. На закуску. Раз уж Смайлгейты решили громко заявить о том, что они выложили часть треков игры в спотифай, ютуб и т.д., не буду выделяться из толпы. Выкину тоже чуть-чуть wav-файлов. В браузере у вас их скорее всего не откроет, придётся скачивать и только потом слушать. Но никто не мешает вам их конвертнуть в mp3 самостоятельно? Lobby - ссылка Adin's Theme - ссылка Belian's Theme - ссылка Belian's Theme (Battle) - ссылка Ervalen's Theme - ссылка Kawerik's Theme - ссылка Lilias's Theme (Base) - ссылка Lilias's Theme (Battle) - ссылка Mort's Theme - ссылка Politis's Theme - ссылка Ran's Theme - ссылка Solitaria's Theme - ссылка Straze's Theme - ссылка Tiwig's Theme - ссылка Zahhak's Theme - ссылка
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон
Epic Seven, сводки с полей:
1 пользователь оценил это сообщение: Показать
|