Gildor's Forums

Русскоязычный Форум => UE Viewer (русский форум) => Topic started by: george_sears on November 07, 2017, 01:44



Title: Injustice 2 PC
Post by: george_sears on November 07, 2017, 01:44
Сегодня вышла открытая бэта версия Injustice 2 на PC.
Я не знаком с файлами мобильной версии, но вроде там UE 4.15, но насколько я знаю, ПК и консольные версии используют модифицированный UE3 как Arkham Knight и MK X.
Вместо uasset файлов в папке с игрой файлы с расширением .xxx. Ни один из испробованных файлов не получается открыть в Umodel, так же есть файлы с расширением TFC, я полагаю, там хранятся текстуры. Могу загрузить пробники, может кто разберется?

На данный момент все файлы выдают ошибку:

appMalloc:size=843465540 (total=0 Mbytes) <- FArray::Empty:843465540 x 1 <- FString<< <- SerializePackageFileSummary3 <- FPackageFileSummary<<:Ver=732/157 <- UnPackage::UnPackage:Asset/BA_MSTR.xxx, ver=732/157, game=ue4.15 <- UnPackage::LoadPackage:Asset/BA_MSTR.xxx <- CUmodelApp::ShowPackageUI <- Main:umodel_version=624

Вероятно файлы зашифрованы или че еще....


Title: Re: Injustice 2 PC
Post by: george_sears on November 07, 2017, 02:02
https://mega.nz/#!moJFWALB!wESFpvtcSezM9XYbrnaQ1NCCpAWa8dCbn1ps68tPC9Q (https://mega.nz/#!moJFWALB!wESFpvtcSezM9XYbrnaQ1NCCpAWa8dCbn1ps68tPC9Q)
Предположительно файлы Бэтмана, 612 мб. Прямиком из клиента


Title: Re: Injustice 2 PC
Post by: george_sears on November 07, 2017, 02:32
Насколько я понял, для расшифровки исполнительный файл все же нужен
https://mega.nz/#!m5wQyLAI!NCy5NTpiSltFllfDT39qcgBSfiRQ5FVoAI7vXyj7yL8 (https://mega.nz/#!m5wQyLAI!NCy5NTpiSltFllfDT39qcgBSfiRQ5FVoAI7vXyj7yL8)


Title: Re: Injustice 2 PC
Post by: Gildor on November 07, 2017, 11:47
Здесь определённо UE3, так что задавать в качестве игры UE4 бессмысленно.

На всякий случай - английская ветка по игре: http://www.gildor.org/smf/index.php/topic,3416.0.html


Title: Re: Injustice 2 PC
Post by: Gildor on November 07, 2017, 14:15
Что-то в последнее время ничего не могу скачать с mega.nz. На файле inj2_Binaries.zip загрузка затыкается на 66%.


Title: Re: Injustice 2 PC
Post by: george_sears on November 07, 2017, 15:31
Перезалил на яндекс
https://yadi.sk/d/PgLFS9z13PUfxb (https://yadi.sk/d/PgLFS9z13PUfxb)
В архиве экзешник с .dll файлами
Вот экзешник отдельно, на тот случай если архивация его факапнула
https://yadi.sk/d/xBvUa9-y3PUg6W (https://yadi.sk/d/xBvUa9-y3PUg6W)


Title: Re: Injustice 2 PC
Post by: Gildor on November 07, 2017, 15:46
БОЛЬШОЙ exe файл (190Мб!). Сходу в нём вообще ничего не нашёл за что можно было бы зацепиться.


Title: Re: Injustice 2 PC
Post by: george_sears on November 07, 2017, 16:39
Я думаю мне стоило упомянуть, что игра походу использует Denuvo


Title: Re: Injustice 2 PC
Post by: Gildor on November 07, 2017, 17:23
Это определяет всё. Gears of War 4 тоже на Denuvo, её до сих пор не взломали, и до сих пор не сделать её поддержку в UModel.


Title: Re: Injustice 2 PC
Post by: george_sears on November 07, 2017, 18:19
Полагаю, стоит подождать взлома. Сейчас много игр падает под напором пиратов, плюс выход дэмо версии чаще всего предвещает скорый взлом полной.
Так или иначе, насколько я помню, проблема с гирзами еще и в том, что это ВинСтор, там вроде совсем все грустно с шифровкой.
14 ноября релиз полной версии, посмотрим что изменится. И будем держать кулачки за скорый прогресс по поддержке Umodel'oм


Title: Re: Injustice 2 PC
Post by: m0xf on November 07, 2017, 22:56
В игре используется сжатие oodle (http://www.radgametools.com/oodlecompressors.htm). Можно использовать имеющуюся dll, прототип функции распаковки (OodleLZ_Decompress) есть в исходниках QuickBMS.
EXE файл обмазан денувой достаточно сильно, но в отладчике работает. Ну а чтобы было проще вот подсказка: 0x14209F6B0 - функция чтения сериализованной строки.


Title: Re: Injustice 2 PC
Post by: num1 on November 08, 2017, 11:17
На zenhax сказали передать Gildor эту ссылку https://github.com/dtzxporter/Siren


Title: Re: Injustice 2 PC
Post by: Gildor on November 08, 2017, 11:43
Как-то на страничке написано много (что-то вроде "мы распаковываем всё подряд"), ну а судя по коду - сделана загрузка какой-то oo2core5.dll и что-то из неё дёргают. В любом случае, я такими вещами не пользуюсь - весь код у меня "встроенный" в приложение и сторонних dll не используется. Ну и потому работает на Windows и Linux (а у кого-то и на Mac).


Title: Re: Injustice 2 PC
Post by: num1 on November 08, 2017, 12:11
Что это значит для нас? Поддержке Injustice 2 не бывать?


Title: Re: Injustice 2 PC
Post by: Gildor on November 08, 2017, 12:22
Если кто-то сделает - почему нет. Для меня это пока выглядит слишком сложно. Что-то вроде "посидеть full time в дизассемблере недельку, а вдруг получится".

Стоит ли эта игра того?


Title: Re: Injustice 2 PC
Post by: num1 on November 08, 2017, 13:20
Печально...
Помимо базовых персонажей, в игре есть куча обмундирования, то есть много моделей. Да и качество с мобильной версией несравнимо.
Посмотрим, если спрос породит решение проблемы...


Title: Re: Injustice 2 PC
Post by: Gildor on November 08, 2017, 13:48
Что мне не нравится в текущей ситуации:

1. Что exe-файл не подходит для дизассемблера. Дизассемблирование в отладчике конечно возможно (если предположить что я скачаю/куплю/поставлю эту игру - а она мне НЕ НРАВИТСЯ). Но для такого количества reverse engineering-а которое здесь потребуется (а его будет очень много - его было много и для предыдущих частей игры) работа в отладчике не годится.

2. Кастомная компрессия. Полностью кастомная, без каких-либо open source библиотек которые могли бы её раскодировать. Ну и в довесок, она используется только для этой игры - я предпочитаю не добавлять любые third-party библиотеки для поддержки только одной игры. Так уже было например с LZ4 (хотя её код доступен).

3. Дальше уже не знаю. Скорее всего движок внутри уже так сильно отличается от оригинала, что пол-umodel'а придётся переписать. Ответвление от UE3 для игр Mortal Kombat произошло ещё до появления первого Gears of War на Xbox 360, т.е. очень давно. Тогда версия пакета была где-то в районе 300. Сейчас - 732, без синхронизации с основным кодом UE3. Вот как например люди просили Splinter Cell Blacklist и т.п. - там от UE2 уже почти ничего не осталось. Поковырялся 2 недели, сделал распаковку их архива (umd), но потом пришлось затею оставить когда добрался до форматов моделек - там вообще всё другое, к тому же ещё и непонятное, было не сопоставить новый код даже с предыдущими частями Splinter Cell.


Title: Re: Injustice 2 PC
Post by: num1 on November 08, 2017, 18:34
Жаль, что так всё так сложилось. uModel самая лучшая и удобная программа в своём роде. Лучше вас мастера не найти.
Может с Ninja Ripper что выйдет, но c uModel такой возни как с ней не бывает.


Title: Re: Injustice 2 PC
Post by: Gildor on November 08, 2017, 19:02
Спасибо за добрый отзыв. Я думаю просто не надо "зацикливаться" на одной игре :) UModel уже работает с 300 играми (недавно был "юбилей").


Title: Re: Injustice 2 PC
Post by: ID-Daemon on November 08, 2017, 21:56
Да, формат отличается. Но дизассемблер тут не нужен. Распаковал пакеты, извлек файлы, сконвертил скелеты и модели. Каждая часть тела бетмена - это отдельный Skeletalmesh. Видимо для комбинирования. Ну это уже дело моделлеров, а не прог для извлечения.

(https://i.imgur.com/bprcRBT.jpg)


Title: Re: Injustice 2 PC
Post by: Gildor on November 08, 2017, 22:06
Распаковал пакеты, извлек файлы, сконвертил скелеты и модели.
Это чем?


Title: Re: Injustice 2 PC
Post by: ID-Daemon on November 08, 2017, 23:18
Это чем?

Ну у меня же были наработки, еще со времен биошока. Я еще морфем анимации тогда делал. Ну и других игр на UE3. Подправил немного, чтобы проверить что тут за формат.


Title: Re: Injustice 2 PC
Post by: num1 on November 09, 2017, 03:04
Как-то на страничке написано много (что-то вроде "мы распаковываем всё подряд"), ну а судя по коду - сделана загрузка какой-то oo2core5.dll и что-то из неё дёргают. В любом случае, я такими вещами не пользуюсь - весь код у меня "встроенный" в приложение и сторонних dll не используется. Ну и потому работает на Windows и Linux (а у кого-то и на Mac).

Не знаю имеет ли это значение, но в папке Binaries игры есть oo2core_4_win64.dll. Может не придется паковать сторонний dll с программой, а вызывать тот, что есть у каждой копии игры?

ID-Daemon, доступны ли(будут ли) общественности инструменты, которыми вы вытащили голову Бэтмена?


Title: Re: Injustice 2 PC
Post by: Gildor on November 09, 2017, 08:27
Не знаю имеет ли это значение, но в папке Binaries игры есть oo2core_4_win64.dll. Может не придется паковать сторонний dll с программой, а вызывать тот, что есть у каждой копии игры?
Смысл моей фразы был в том, что на github было сказано что-то вроде "мы распаковываем всё подряд", но обёртка есть только вокруг одной dll.


Title: Re: Injustice 2 PC
Post by: ID-Daemon on November 09, 2017, 19:16
Смысл моей фразы был в том, что на github было сказано что-то вроде "мы распаковываем всё подряд", но обёртка есть только вокруг одной dll.

Всё там было правильно сказано. Все эти слова - это разные методы сжатия, поддерживаемые этим самым oodle, в одном DLL. Просто у них такая фантазия бурная. И все они конечно кастомные и проприетарные с закрытым кодом и копирайтом.


Title: Re: Injustice 2 PC
Post by: ID-Daemon on November 09, 2017, 19:29
ID-Daemon, доступны ли(будут ли) общественности инструменты, которыми вы вытащили голову Бэтмена?
Если будет такая необходимость.


Title: Re: Injustice 2 PC
Post by: num1 on November 12, 2017, 16:57
Если будет такая необходимость.
То есть? Как должна выражаться эта необходимость?


Title: Re: Injustice 2 PC
Post by: ID-Daemon on November 12, 2017, 17:29
Если будет такая необходимость.
То есть? Как должна выражаться эта необходимость?

Сейчас я занимаюсь другими играми. Если к тому времени, как подойдет очередь и никто другой не сделает, тогда я сделаю.


Title: Re: Injustice 2 PC
Post by: mkhacker on November 18, 2017, 16:56
MrDude007 from another site, wrote a BMS Script to decompress the Injustice 2 files. The BMS Script dumps 2 files, a header and data file. They can be merged into one file. Someone just needs to make a utility to extract sounds, textures or model files now. :

Quote
comtype oodle
get EXT extension
if EXT == "xxx"
   log MEMORY_FILE 0 0
   log MEMORY_FILE 0 0x64
   append
   getdstring TOP 0x64
   get NAME BASENAME
   string NAME + ".header"
   log MEMORY_FILE 0x64 0x04
   get COUNT long
   
   savepos RET
   set SKIP 24
   math SKIP * COUNT
   print %SKIP%
   goto SKIP 0 SEEK_CUR
   savepos TOPCUR
   log MEMORY_FILE TOPCUR 0x18
   getdstring TEMP 0x18
   savepos TOPCUR
   log MEMORY_FILE TOPCUR 0x04
   get CCOUNT long
   savepos TOPCUR
   log MEMORY_FILE TOPCUR CCOUNT
   getdstring PACKAGENAME CCOUNT
   set Temp 0x84
   math Temp + CCOUNT
   log NAME 0 Temp MEMORY_FILE
   set Temp 0x84
   
   goto RET
   append
   get NAME BASENAME
   string NAME + ".bin"
   for i = 0 < COUNT
      print %COUNT%
      print %i%
      goto RET
      get OGSIZE longlong
      get ADDSIZE long
      get OFFSET longlong
      get SIZE long
      savepos RET
     
      goto OFFSET
      getdstring TMP 0x10
      get BSIZE longlong
      get RSIZE longlong
      set TMP1 BSIZE
      set TMP2 SIZE
      math TMP2 - TMP1
      math TMP2 - 32
      savepos TMP3
      math TMP3 + TMP2
      math TMP2 / 16
      set COUNT2 TMP2
      append
      for t = 0 < COUNT2
         get ZSIZE2 longlong
         get SIZE2 longlong
         savepos ret3
         goto TMP3
         clog NAME TMP3 ZSIZE2 SIZE2
         math TMP3 + ZSIZE2
         goto ret3
         next t
      append
     
      next i


Title: Re: Injustice 2 PC
Post by: Gildor on November 18, 2017, 21:50
MrDude007 from another site, wrote a BMS Script to decompress the Injustice 2 files. The BMS Script dumps 2 files, a header and data file. They can be merged into one file. Someone just needs to make a utility to extract sounds, textures or model files now. :
Thank you very much. But didn't you notice that this is a Russian thread? :)
And - it would be VERY nice to have a link to original message instead of copying it here, to be able to understand what this script does and how to use files after it.


Title: Re: Injustice 2 PC
Post by: num1 on November 18, 2017, 22:04
Вот отсюда взято (http://zenhax.com/viewtopic.php?f=9&t=6914)


Title: Re: Injustice 2 PC
Post by: Gildor on November 18, 2017, 22:15
Если этот скрипт и правда работает (и генерит новый распакованный xxx-файл), то мне нужны несколько распакованных файлов для проверки что нужно делать в umodel. (для начала хватит и одного, если файлы большие). Как я уже говорил ранее, oodle я встраивать не буду.

P.S. тема на zentax выглядит вообще забавно - "передайте это gildor-у", кто-то что-то делает, никто не делится ссылками (на zentax нет ссылок сюда, отсюда до последнего не было ссылок туда). Народ с радостью копи-пастит, но никто не говорит кто что откуда взял - это чтобы если что спросили именно "его" а не в том месте откуда информация взята (детский сад какой-то)? Или это такие правила на zentax - никаких ссылок, один копи-паст?


Title: Re: Injustice 2 PC
Post by: num1 on November 19, 2017, 01:05
Скрипт делает из .xxx два файла: .bin и .header.
SZ_MSTR (https://my.mixtape.moe/fvrckg.zip)


Title: Re: Injustice 2 PC
Post by: Gildor on November 19, 2017, 01:25
Спасибо!
По-быстрому взглянул на файлы. По всей видимости .bin файл должен быть дописан в конец .header и сохранён в .xxx (или .upk), тогда это будет один пакет.


Title: Re: Injustice 2 PC
Post by: mkhacker on November 19, 2017, 03:10
Apologies, here is the link: http://zenhax.com/viewtopic.php?f=9&t=6914
And I thought the English thread just linked to the Russian one, my bad.

:)


Title: Re: Injustice 2 PC
Post by: ID-Daemon on December 06, 2017, 20:28
Нашлось немного времени доделать прогу:

http://forum.xentax.com/viewtopic.php?f=16&t=17368
http://zenhax.com/viewtopic.php?f=5&t=7037

(https://i.imgur.com/maR0oIP.jpg)
Quote
(https://i.imgur.com/4zj1lxg.jpg)


Title: Re: Injustice 2 PC
Post by: num1 on December 06, 2017, 23:01
В текстурах и правда практически нет цвета, или это Noesis так конвертировал?
Стоп, на скринах вроде Блендер, а у меня блендер BC7 dds текстуры не видит.

Извлек несколько персонажей, но так и не смог извлечь SZ_MSTR.xxx. Программа вылетает :-[


Title: Re: Injustice 2 PC
Post by: ID-Daemon on December 15, 2017, 00:35
попробовал уровни

(https://i.imgur.com/iCkVvwu.jpg)

(https://i.imgur.com/WWql2bK.jpg)

(https://i.imgur.com/LpsiObw.jpg)

(https://i.imgur.com/JN63TSZ.jpg)


Title: Re: Injustice 2 PC
Post by: Bezio on December 23, 2017, 19:44
Мощно... Пока удаётся извлечь различные меши (Статичные и скелетные), однако анимации всёж ещё недоступны?


Title: Re: Injustice 2 PC
Post by: AKANE on March 29, 2018, 19:05
Нашлось немного времени доделать прогу:

http://forum.xentax.com/viewtopic.php?f=16&t=17368
http://zenhax.com/viewtopic.php?f=5&t=7037

(https://i.imgur.com/maR0oIP.jpg)
Quote
(https://i.imgur.com/4zj1lxg.jpg)
а можно поделится секретом как ей пользоваться, ммммм?
а то у меня ток вот это
(https://thumb.ibb.co/jvd1aS/image.png) (https://ibb.co/jvd1aS)]
а то я специально эту игру купил в стиме чтоб черепах от туда вытащить


Title: Re: Injustice 2 PC
Post by: Zalipala on July 06, 2018, 19:25
А что все замолчали? Есть уже пиратка и образ для плейстейшн 4


Title: Re: Injustice 2 PC
Post by: Gildor on July 06, 2018, 19:35
Ну, по-идее, эта тема абсолютно не про umodel, а о другой программе. И думаю что намного больше информации на внешних ресурсах (xentax, zentax, может ещё где-то).
Ну и наверное все кто хотел уже всё что надо из игры достали.


Title: Re: Injustice 2 PC
Post by: Zalipala on July 12, 2018, 18:39
Я пользуюсь умодель, достаю картинки Почему она не работает с файлами от плейстейшн 4?


Title: Re: Injustice 2 PC
Post by: Gildor on July 12, 2018, 18:47
UModel с этой игрой вообще не особо работает.


Title: Re: Injustice 2 PC
Post by: Zalipala on July 12, 2018, 18:51
Так ПКашный МКХ открывает, а с плейстейшн 4 нет.

Code:
appDecompress: unknown compression flags: 8
appDecompress:CompSize=131072 UncompSize=131072 Flags=0x8 <- DecompressBlock:block=CCD3+20000 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:AC_Event_A.xxx, ver=677/157, game=mk <- UnPackage::LoadPackage:AC_Event_A.xxx <- UIMenuItem::HandleCommand <- UIBaseDialog::WndProc <- UIBaseDialog::CustomMessageLoop <- UIBaseDialog::ShowDialog:modal=1, title="Choose a package to open" <- CUmodelApp::ShowPackageUI <- Main:umodel_build=730

А экстрактор вот:

Code:
******** C:\Users\Goodwork\Desktop\DISM_Ermac_V.tfc ********

ERROR: Wrong tag in package: C915F7F6
FPackageFileSummary<<:Ver=0/0 <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\DISM_Ermac_V.tfc, ver=100000/0, game=0 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\DISM_Ermac_V.tfc <- Main


******** C:\Users\Goodwork\Desktop\DISM_Ermac_N.xxx ********

ERROR: appDecompress: unknown compression flags: 8
appDecompress:CompSize=131072 UncompSize=131072 Flags=0x8 <- DecompressBlock:block=C2E4+20000 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\DISM_Ermac_N.xxx, ver=677/157, game=8103 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\DISM_Ermac_N.xxx <- Main


******** C:\Users\Goodwork\Desktop\GalleryArt25.xxx ********

ERROR: appDecompress: unknown compression flags: 8
appDecompress:CompSize=131072 UncompSize=131072 Flags=0x8 <- DecompressBlock:block=5D9B+20000 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\GalleryArt25.xxx, ver=677/157, game=8103 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\GalleryArt25.xxx <- Main


******** C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx ********

ERROR: appDecompress: unknown compression flags: 8
appDecompress:CompSize=1409 UncompSize=1409 Flags=0x8 <- DecompressBlock:block=59EE+581 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx, ver=677/157, game=8103 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx <- Main


******** C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx ********

ERROR: appDecompress: unknown compression flags: 8
appDecompress:CompSize=1409 UncompSize=1409 Flags=0x8 <- DecompressBlock:block=59EE+581 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx, ver=677/157, game=8103 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx <- Main


******** C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx ********

ERROR: appDecompress: unknown compression flags: 8
appDecompress:CompSize=1409 UncompSize=1409 Flags=0x8 <- DecompressBlock:block=59EE+581 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx, ver=677/157, game=8103 <- UnPackage::LoadPackage:C:\Users\Goodwork\Desktop\LoadScreen_jason_a.xxx <- Main



Title: Re: Injustice 2 PC
Post by: Gildor on July 12, 2018, 18:55
MKX и Injustice разные игры.
Ну а поддержку PS4 я делал только для UE4.