Для входа на форум нажмите здесь

Go Back   GoHa.Ru > Форумы > Мобильные, карточные (ККИ), gacha игры > Epic Seven

Reply
 
Thread Tools
Old 30.04.2019, 09:25   #1 
nORb Dragon
Предводитель
 
nORb Dragon's Avatar
Датамайнинг клиента игры
nORb Dragon nORb Dragon вне форума 30.04.2019, 09:25

Ссылки на полезные ресурсы:
Публичный архив изменений по датамайну на «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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)

Last edited by nORb Dragon; 12.01.2022 at 00:11.
1 пользователь оценил это сообщение: Показать
Views: 199197
Reply With Quote
Old 25.11.2021, 14:39   #276 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Перед убеганием из дома успел урвать с собой на работу обновлённый корейский войс-пак.

Есть свежая озвучка. Озвучка для c3132 и c3135.

c3135 - это уже знакомая некоторым 3★:



Кто такой c3132 - хз, но тоже 3★, без вариантов. Пока "хз". Надо дата-пак свежий потрошить. Он у меня остался дома.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 25.11.2021, 18:12   #277 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 25.11.2021, 21:49   #278 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

buttreynolds вышел на связь. Пояснил касаемо интересующих меня форматов sct и scsp.

С sct-файлами вроде понятно всё, но надо поиграться. С scsp-файлами будет наверное затык... ну, размыто ответил. Задал ему уточняющие вопросы, пока молчит. Может и не станет отвечать. А может и сам не обладает чёткой информацией по ним, мб конвертил их другой человек (автор e7herder).
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 26.11.2021, 13:14   #279 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Тыкс. Конвертить sct в png я научился.

Осталось раскурить scsp, который используется для компоновки изображения из "кусочков". И можно будет попробовать замутить свой бар с блекджеком и шлюхами e7herder.

Ну а это вам в качестве "доказательства", что "йа смогЪ!".

Скин Мерседес



Ну и два новых НПЦ (статика, но всё равно запихнуты в sct)



__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
1 пользователь оценил это сообщение: Показать
Old 26.11.2021, 13:27   #280 
Darkmor
Мастер Darkmor вне форума

Reply With Quote
Info
Posts: 6,975
Всего лайков: 1,743
Join Date: 23.01.2019
GoHa.Ru - Старожил Джентльмен Медаль "1К лайков"
Re: Датамайнинг клиента игры

Quote:
Originally Posted by nORb Dragon View Post
Скин Мерседес
конструктор, "сделай сам"? :)
Old 26.11.2021, 13:30   #281 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Quote:
Originally Posted by Darkmor View Post
конструктор, "сделай сам"? :)
Собери себе идеальную женщину из предложенных кусочков!

Если хочешь, могу ещё деталей накидать из других файлов. Любите и уважайте доктора Франкенштейна, который всё придумал задолго до вашего рождения!
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 26.11.2021, 13:41   #282 
Darkmor
Мастер Darkmor вне форума

Reply With Quote
Info
Posts: 6,975
Всего лайков: 1,743
Join Date: 23.01.2019
GoHa.Ru - Старожил Джентльмен Медаль "1К лайков"
Re: Датамайнинг клиента игры

Так это ж можно Айтеру прилепить сиськи Мерседес
Old 26.11.2021, 13:42   #283 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Quote:
Originally Posted by Darkmor View Post
прилепить
И анимировать их, анимировать!
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 27.11.2021, 19:26   #284 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 29.11.2021, 01:31   #285 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Яхз, читает ли кто этот топик. Особенно из тех, кто "в теме". Но всё равно оставлю это здесь.

Есть ли у кого идеи, как можно превратить/декодировать/конвертнуть код цвета (96% уверенности, что это оно) из одного неизвестного цветового режима в код rgba-режима? Примеры моих мучений:
Code:
#8382823E --> #FFFFFF41
#00000000 --> #FFFFFF00
#C5C4443F --> #FFFFFFC4
Погуглил, вроде это даже не CMYK. Я конечно попробую дядьке buttreynolds вопрос задать. Но подозреваю, что ответа от него не будет.

Добавлено через 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
Поясняю: связка из 4 блоков по 4 байта. Каждый блок - это float (4 байта). Первые 4 байта - float значение R, вторые - G, третьи - B, четвёртые - alpha.

Гении, сцуко! 16 байт расходовать на RGBa, которое замечательно помещается в 4 байта!
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)

Last edited by nORb Dragon; 29.11.2021 at 01:31. Reason: Добавлено сообщение
Old 29.11.2021, 20:41   #286 
Darkmor
Мастер Darkmor вне форума

Reply With Quote
Info
Posts: 6,975
Всего лайков: 1,743
Join Date: 23.01.2019
GoHa.Ru - Старожил Джентльмен Медаль "1К лайков"
Re: Датамайнинг клиента игры

Quote:
Originally Posted by nORb Dragon View Post
id c3132, официальное имя его мне неизвестно:
Muwi водный вор
__________________
1 пользователь оценил это сообщение: Показать
Old 30.11.2021, 09:45   #287 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Quote:
Originally Posted by Darkmor View Post
Muwi водный вор
Я вообще сначала думал, что это девка. Потом уже, после некоторых скринов на реддите и вглядывания в область груди, осознал - це мужик! Трапы атакуют!
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 01.12.2021, 01:42   #288 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)

Last edited by nORb Dragon; 01.12.2021 at 01:42. Reason: Добавлено сообщение
1 пользователь оценил это сообщение: Показать
Old 01.12.2021, 11:15   #289 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Замечательно. Плюнул, решил пока скипнуть этот набор байтов, проанализировать следующий набор байтов описания ffd... и... там находится нужная мне последовательность float-данных без всяких регистраций и смс! Хотя по всем индикаторам, я уже закончил анализ блока.

Спрашивается - а что тогда эта хрень делает в начале блока? Судя по e7herder, эти данные - "лишние детали". Ибо они не мелькают в его json-файле.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 01.12.2021, 11:21   #290 
Darkmor
Мастер Darkmor вне форума

Reply With Quote
Info
Posts: 6,975
Всего лайков: 1,743
Join Date: 23.01.2019
GoHa.Ru - Старожил Джентльмен Медаль "1К лайков"
Re: Датамайнинг клиента игры

Quote:
Originally Posted by nORb Dragon View Post
Спрашивается - а что тогда эта хрень делает в начале блока?
its a trap!
Old 01.12.2021, 12:14   #291 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Всё. Мой конвертер полностью перегоняет Расу его scsp-файл в json-файлик для e7herder. Боюсь проверять на других персах, наверняка какая-нибудь хрень и там творится.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 01.12.2021, 15:47   #292 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Погонял, подрихтовал, вроде работает.

Вечером ещё погоняю, потесчу, уберу "служебные полотна с байтами" и наверное выложу сюда. Особо не жалко, ибо только со старым форматом оно у меня сейчас работает. А персонажи старого формата давно в дампе e7herder есть.

Так, вдруг кому в "образовательных целях" будет интересно. Вдруг кто любит чертыхаться и охреневать от гениальности разрабов э7, как они переложили json в свой гениальный структурированный формат scsp.

Ещё раз упомяну, что собрал "перегонщик в зад json" только для файлов из spine v2. После того, как убежусь, что он работает без сбоев, займусь раскуриванием формата из spine v3... Но после прочтения части доков и сравнивания у меня возникло подозрение, что возможно придётся ещё и e7herder допиливать напильником для поддержки "новых фич из v3".
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 02.12.2021, 01:09   #293 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, где много переносов каретки и есть даже отступы для блоков.

-wtempfile - если указать эту опцию, то временный файл с распакованным scsp не будет удалён по завершении работы. Вдруг кто любит ковыряться?

-e7herder - опция для тех, кто критически мыслит и обожает проверять всё за Норбом. Если указать эту опцию, то скрипт постарается сымитировать использованную в файлах e7herder сортировку блоков. Это упрощает использование всяких программ для сравнения двух файлов на предмет расхождений.

Обязательно указывать хотя бы имя scsp-файла, который надо конвертнуть в .json. Имя файла для результата указывать необязательно. В случае, если его не указать, скрипт просто припишет к названию scsp-файла дополнительно ".json".

В архиве в папке examples есть несколько файлов для экспериментов.


Если будет давать ошибку, что не найден lz4:
Code:
python -m pip install --upgrade pip
pip install --upgrade setuptools
pip install wheel
pip install lz4
Если под виндой не захочет ставить lz4, то идём скачивать ms visual c++ build tools - https://visualstudio.microsoft.com/v...p-build-tools/
При установке тулсов выбираем только левый верхний пункт, где чего-то там про разработку классических приложений на c++.

После установки тулсов потребуется перезагрузка. После перезагрузки снова пытаемся установить lz4. Должно установиться.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)

Last edited by nORb Dragon; 02.12.2021 at 14:17.
1 пользователь оценил это сообщение: Показать
Old 02.12.2021, 14:00   #294 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 02.12.2021, 22:40   #295 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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
Предположительно соответствие зашифрованному (строки взял в кавычки, чтобы были нагляднее границы строки + "\x00" на местах "пробелов"):
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
Ну? Есть у кого идеи, как можно шифрануть и/или запаковать сроки из второго блока, чтоб в итоге они как на дрожжах выросли в размере в 2-3 раза? Гении, одним словом. Размер того же text_en.db (все тексты локализации за исключением текстов сюжета и сториков) вырос с 8.3 мб до 11.2 мб в день патча 2021.06.10 (изменение формата для db-файлов).

Столбец "wtf?" - яхз используется при шифрации или нет. Но решил его выложить, вдруг у кого будут какие идеи, и этот столбец окажется ключевым. Иначе нахрена он в db-файле. Кстати, я глянул по нескольким другим файлам. Первые 4 байта этого столбца во всех проверенных файлах начинаются на "1b-6b-00-00", что бы это ни значило.

Столбец "id?" скорее всего бесполезен. Тупо нумерация строк в строковом представлении с двумя символами табуляции спереди (#09).
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 03.12.2021, 14:08   #296 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 03.12.2021, 14:33   #297 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Подправил прикреплённый пост. Чтоб нагляднее было. Ну и вписал "крик души" для тех, кому возможно тупо лень регистрироваться на гохе.


Следующее, что сюда выложу... это будут очередные скрипты на питоне. Теперь на тему потрошения звуковых пакетов .bank, где у epic7 хранится музыка, озвучка персонажей, звуковые эффекты и т.д. На основе поста из этой же темки - https://forums.goha.ru/showthread.ph...#post158649085

Только сразу предупрежу, что они будут работать только под виндой. Половина скрипта - запуск приложенных к скрипту exe-файлов с нужными параметрами.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 04.12.2021, 12:25   #298 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
Re: Датамайнинг клиента игры

Если кто здесь таки скачивал до момента "сейчас" потрошилку data.pack из поста выше ( https://forums.goha.ru/showthread.ph...#post159273387 ), лучше перекачайте эти 11 кб. Мелкий "хот-фикс", недостойный отдельной минорной версии.
__________________
not an Ordinary Rainbow Dragon - анахроничный танцующий с лезвиями дракон

Epic Seven, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
Old 04.12.2021, 15:46   #299 
nORb Dragon
Предводитель nORb Dragon вне форума

 nORb Dragon's Avatar

Reply With Quote
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, сводки с полей:
набор в гильдию «NightHawks» (свободных мест нет)
1 пользователь оценил это сообщение: Показать
Old 04.12.2021, 18:09   #300 
Darkmor
Мастер Darkmor вне форума

Reply With Quote
Info
Posts: 6,975
Всего лайков: 1,743
Join Date: 23.01.2019
GoHa.Ru - Старожил Джентльмен Медаль "1К лайков"
Re: Датамайнинг клиента игры

Quote:
Originally Posted by nORb Dragon View Post
Tiwig's Theme - ссылка
хм... а это случаем не новинка?
Reply

Go Back   GoHa.Ru > Форумы > Мобильные, карточные (ККИ), gacha игры > Epic Seven
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Advertising - Rules - Calendar - Contact Us - Archive - Privacy Statement - Terms of Service - Top
© GoHa.Ru 2003-2025