Страница 1 из 1

Shellshock 2: Blood Trails (РС)

Добавлено: 11 авг 2015, 18:53
Kirov
В общем, игра на том же движке (Asura), что и последний Aliens vs Predator. Архивы (.РС) распаковал утилитой для распаковки. Но вот плагин для Noesis отказывается открывать модели. Прикладываю архив с моделями и набором для распаковки: http://rghost.ru/8Rh4nHMtM

Re: Shellshock 2: Blood Trails (РС)

Добавлено: 14 авг 2015, 23:21
HaCKer_UTD
Посмотрел, ради интереса. Формат простой, можно вытащить любую модель через Hex2Obj (прога от одного мужика с xentax)

Записал видосик с уазиком.
Индексы легко найти на глаз они в конце, вершинный блок начинаются через определенное количество байт от начала
Вот на скрине пример:
На первом (слева на право) от начала до вершин длинна будет 110 (в hex) - оффсет начала вершин 110
На втором 96 - оффсет 96, на третьем EC - оффсет EC соответственно. И так везде, на глаз тоже можно понять где они начинаются
Скрин - https://yadi.sk/i/hJNo0uE4iTYAR

Видео - https://www.youtube.com/watch?v=P1e8X3V ... e=youtu.be

Re: Shellshock 2: Blood Trails (РС)

Добавлено: 15 авг 2015, 22:05
Kirov
HaCKer_UTD писал(а):Посмотрел, ради интереса. Формат простой, можно вытащить любую модель через Hex2Obj (прога от одного мужика с xentax)

Записал видосик с уазиком.
Индексы легко найти на глаз они в конце, вершинный блок начинаются через определенное количество байт от начала
Вот на скрине пример:
На первом (слева на право) от начала до вершин длинна будет 110 (в hex) - оффсет начала вершин 110
На втором 96 - оффсет 96, на третьем EC - оффсет EC соответственно. И так везде, на глаз тоже можно понять где они начинаются
Скрин - https://yadi.sk/i/hJNo0uE4iTYAR

Видео - https://www.youtube.com/watch?v=P1e8X3V ... e=youtu.be
А можно пошагово описать сам процесс работы с HEX2OBJ? Я читал тьютор от автора программы, но так до конца не понял, в чём суть работы. Суть, как я понял, в том, чтобы найти кусок HEX-кода самой геометрии модели. Как его определить и что дальше с ним делать?

Re: Shellshock 2: Blood Trails (РС)

Добавлено: 15 авг 2015, 22:38
HaCKer_UTD
На видео все показано. Для каждой игры конечно все по разному.
Сначала нужно найти индексы.
Они могут записываться по разному.
Например litE (little endian)

Код: Выделить всё

00 00 01 00 02 00 03 00
Или bigE (big endian)

Код: Выделить всё

00 00 00 01 00 02 00 03
То есть наоборот

Есть еще Word и Dword
Word

Код: Выделить всё

00 00 01 00 02 00 03 00
Dword

Код: Выделить всё

00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03
Когда нашли индексы определяем длину блока в HEX ними, переводим ее в DEC и делим на 2(Word) или на 4(Dword), тем самым находим их количество.
Вписываем начало блока в hex2obj и количество, в самом низу покажет кол-во вершин, это последние 2 байта в индексах.
Далее ищем вершины, как их примерно искать написано в туторе от автора. Я уже их например могу сразу увидеть, поскольку с многими играми уже работал.
Размер вершинного блока (VB) можно определить поделив длинну блока, на кол-во вершин (сколько их мы знаем)
В данном случае я написал где начало, конец будет прям до индексов. Поделив все получим 60. UV подобрал методом тыка от 12, совпало со значением 24.

А так вариантов может быть еще куча, UV могут быть отдельно не в блоке с вершинами, размеры блоков другие, HF_UV и т.д

Re: Shellshock 2: Blood Trails (РС)

Добавлено: 15 авг 2015, 23:07
Kirov
А как определить сами индексы? У них есть какие-нибудь отличительные признаки? Интересует Type24 (второй скриншот). И откуда в ролике взялось то 5D3C. Раньше с HEXoм не работал вообще.

Re: Shellshock 2: Blood Trails (РС)

Добавлено: 15 авг 2015, 23:10
HaCKer_UTD
их сразу видно они идут в порядке возрастания

Код: Выделить всё

00 00 01 00 02 00 03 00 04 00 05 00
и так до конца