Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Программа для работы с архивами Unity.

Возможности:

- поддержка версий архивов 4, 5 и 2017.

- поддержка GUI и консольного режима.

- экспорт всех и выбранных файлов из архива в GUI режиме.

- экспорт всех файлов и файлов по типу из архива в консольном режиме.

- алгоритм массового импорта файлов из каталога извлечённых за один заход. Размеры импортируемых файлов абсолютно не важны.

- английская локализация.

- поддержка архивов консольных платформ (PS3)

- поддержка шрифтов ttf или извлечение метрики координат font_raw.

- поддержка текстовых файлов.

- поддержка видео файлов.

- поддержка аудио файлов.

- поддержка конвертации текстур DDS.

- поддержка конвертации текстур CRN.

- поддержка конвертации текстур KTX.

- поддержка конвертации текстур PVR.

- поддержка ресурсов из внешних ResS при извлечении файлов из assets.

- поддержка извлечения mesh в obj.

- поиск по именам файлов.

- поиск текста в файлах.

- поддержка .splitX (Android)

- поддержка AssetBundles(Unity3D) - UnityRaw.

- поддержка AssetBundles(Unity3D) - UnityWeb.

- поддержка AssetBundles(Unity3D) - UnityFS.

Скачать программу UnityEX

 

Spoiler

v1.6.9

  • Добавлено извлечение битмапа из файла ресурсов в формат unity tex при конвертации для WiiIA4, WiiIA8, WiiRGB565, WiiRGB5A3, WiiRGBA8, WiiCMPR

v1.6.8

 

  • Исправлено извлечение .mp3 Lavf

v1.6.7

 

  • Исправлено чтение текстур при размере архива .resS более 2гб.

v1.6.6

 

  • Исправлен вылет при нестандартном названии версии.

v1.6.5

 

  • Небольшое исправление интерфейса.
  • Небольшое исправление определения данных 3D Объектов.
  • Исправлена запаковка архивов, в которых файлы располагались непоследовательно, при запаковке меньшего размера файла и когда последний файл по смещениям в архиве находится не в конце архива.

v1.6.4

 

  • Исправление переконвертации текстур RGBA4444 и ARGB4444

v1.6.3

 

  • Поддержка текстур Unity 2017
  • Добавлено отображение структуры дерева GameObjects для извлечения моделей и костей в формате smd (BETA).

v1.6.2

 

  • Поддержка обработки исходных типов asset ID14-15 версии 4-5

v1.6.1

 

  • Исправление мипмапов ProceduralTexture

v1.6.0

 

  • Добавлена поддержка обработки исходных asset ID17 версии 5.6

v1.5.9

 

  • Исправлено отображение русских символов на англоязычных ОС (при преобразовании анси в юникод).

v1.5.8

 

  • Исправление текстур DDS формата RGBA4444.

v1.5.7

 

  • Исправлены вылеты при создании лог файла.

v1.5.6

 

  • Исправление извлечения текстур.

v1.5.5

 

  • Исправление поддержки версии 5.0.0f4 с id14.

v1.5.4

 

  • Исправление конвертации текстур из архивов с id17.

v1.5.3

 

  • Поддержка версии 5 с id17.

v1.5.2

 

  • Исправление ошибок при ненайденном окне консоли.

v1.5.1

 

  • Добавлена поддержка текстур со сжатием ASTC 4x4 5x5 6x6 8x8 10x10 12x12 pvr и ktx.

v1.5.0

 

  • Оптимизация открытия архива.
  • Добавлен ключ -ndc запрет на захват консольного окна. Возможно из-за этого захвата происходит вылет на x64OS.

v1.4.9

 

  • Небольшая оптимизация поиска дублирующихся файлов для их переименования.

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

v1.4.8

 

  • Исправление пути извлечения из файла ресурса.
  • Добавлен ключ -nft запрет на переворачивание текстур dds.

v1.4.7

 

  • Поддержка FS версии 5.3.6p3.

v1.4.6

 

  • Исправление чтения FS с разными сжатиями архива.

v1.4.5

 

  • Исправление текстур DDS формата ARGB4444.

v1.4.4

 

  • Отключение переворачивания текстур dds, ключом -no_flip_texture.
  • Исправление отображения текста вывода ошибок, ненайденных импортируемых файлов.

v1.4.3

 

  • Исправление конвертации mesh в obj для 4и5 версий.

v1.4.2

 

  • Обработка ошибок извлечения.
  • Аттач консоли на OS64bit.

v1.4.1

 

  • Доработка конвертации mesh в obj для юнити 3и5.
  • Исправление ошибок gui.

v1.4.0

 

  • Изменена поддержка формата сжатия ATC_RGB4 и ATC_RGBA8, так как PVRTEXTooL не поддерживает эти сжатия, теперь файлы извлекаются в dds и открываются через The Compressonator - AMD, с последующим извлечением без сжатия. ktx по прежнему можно извлечь через консоль.

v1.3.9

 

  • Доработка конвертации mesh в obj для юнити 4.

v1.3.8

 

  • Добавлена поддержка извлечения mesh в obj.

v1.3.7

 

  • Добавлена поддержка pvr. Теперь в формат pvr текстуры iOS конвертируются по умолчанию, в ktx через настройку -t ktx.
  • Исправление мипмапов текстур iOS.

v1.3.6

 

  • Исправлено извлечение через консоль всех файлов без настройки -t, не извлекались те которые конвертируются.
  • Добавлено в конвертацию текстур ktx определение блока сжатия 4x4 либо 8x8, для правильного подсчёта мипмапов.

v1.3.5

 

  • Добавлена поддержка текстур KTX.
  • Исправлены ошибки текстур, совершённые в версии v1.3.3.

v1.3.4

 

  • Добавлен выбор пути для операций с файлами из консоли. (-p "PATH")

v1.3.3

 

  • Добавлена поддержка текстур Cubemap (.cbm).
  • Добавлена поддержка текстур ProceduralTexture (.ptr).
  • Добавлено извлечение через консоль архивов из Bundles по задаче "exportbundle".

v1.3.2

 

  • Исправление открытия FS со сжатием lz4.
  • Исправление запаковки Raw.
  • Исправление перехода на смещения.

v1.3.1

 

  • Исправлено зануление мипмапа при запаковке текстуры без него.
  • Включено извлечение файлов с нулевым размером.

v1.3.0

 

  • Исправлено переворачивание альфа канала в DTX3-5.

v1.2.9

 

  • Добавлено переворачивание текстур DDS стандартных форматов (DXT1-3-5,8888ARGB32...).
  • Исправление запаковки текстур DDS определённых форматов(A4,A8,RGBA16).
  • Исправление пути к crunch.exe, раньше определялся по тому где находился архив.
  • Исправлено переворачивание текстур (A8...).

v1.2.8

 

  • Добавлена запаковка текстур.

v1.2.7

 

  • Исправление извлечения шрифта unity 3.5.7f6.

v1.2.6

 

  • Исправление ожидания завершения crunch x64.

v1.2.5

 

  • Извлечение текстур формата CRN, с поддержкой ResS архивов. Декомпрессия в dds выполняется, если рядом с UnityEX.exe присутствует crunch.exe
  • Добавлена информация о формате сжатия текстуры.

v1.2.4

 

  • Незначительные исправления.
  • Извлечение звуков и текстур также при нажатии кнопки "Извлечь все файлы".

v1.2.3

 

  • Исправление поддержки bundles.

v1.2.2

 

  • Исправление ошибок допущенных в версии 1.2.1.
  • Обработка ресурса извлечённого из bundles архива.

v1.2.1

 

  • Изменена поддержка аудио файлов, теперь они обрабатываются и из архивов ресурсов.

v1.2.0

 

  • Поддержка AssetBundles - UnityFS.
  • Исправление ошибок.

v1.1.9

 

  • Добавлен поиск текста в файлах.
  • Поддержка AssetBundles(Unity3D) - UnityWeb.

v1.1.8

 

  • Исправлена обработка архивов больше 2гб.
  • Извлечение текстур формата DDS, с поддержкой ResS архивов.
  • Извлечение только Monobehavior через консоль по типу 114.
  • Поддержка .splitX (Android)
  • Исправление интерфейса.
  • Добавлен поиск по именам файлов.

v1.1.7

 

  • Исправлена распаковка из консоли при отсутствии папки, в которую всё распаковывается.
  • Добавлено отображение платформы, к которой относится открытый архив.

v1.1.6

 

  • Добавлена поддержка архивов с обратным порядком байт для PS3.
  • Исправления ошибок.

v1.1.5

 

  • Считывание Unity_Assets_File с места, где находится assets.
  • Не обрабатывает открытие ассета из консоли, при запаковке, когда папки с файлами нет.
  • Исправление ошибки запаковки, когда запаковывались файлы меньшего размера и вместе файлы большего размера.

v1.1.4

 

  • fix UnityRaw 4 (Pillars Of Eternity .assetbundle)
  • Ещё возможны ошибки с 5 версией в UnityRaw.

v1.1.3

 

  • Доработана поддержка Unity3D - UnityRaw.

v1.1.2

 

  • Исправлена поддержка Movie Texture в 5.2.3f1 - Dreamfall Chapters

v1.1.1

 

  • Переделал замену повторов на UberShaderCustomMesh0_00001, такая же как и в безымянных файлах.

v1.1.0

 

  • Добавлена поддержка Audio Clip: ogg, wav, aif, mp3 и Movie Texture: ogm.

v1.0.9

 

  • Добавлена поддержка Unity3D - UnityRaw.
  • Unity3D - UnityWeb не поддерживается, если только через конвертацию в UnityRaw.

v1.0.8

 

  • Исправлено зависание когда в ttf совсем отсутствует векторный шрифт, определяется весь бинарный файл.

v1.0.7

 

  • Добавлено определение незначительных типов.
  • Изменено извлечение ttf, при нулевом размере извлекается контейнер, в котором предположительно находится координатная сетка для растрового шрифта.

v1.0.6

 

  • Добавлена информация о типах.
  • Исправлено извлечение безымянного файла из контейнера.
  • Поддержка текстового типа shader.
  • Исправлена запаковка архивов, в которых файлы располагались непоследовательно.

v1.0.5

 

  • Поддержка 5.0.0f4 с идентификатором 14.
  • Изменение текста поддержки архивов.
  • Не изменение даты архива при запаковке 0 файлов.

v1.0.4

 

  • Открытие таких файлов (0b6bf0916804c69459a4ab9d82cde49c) через тип ASSETS, а не только через ALL.
  • Исправлен прогресс, который шёл в противоположную сторону с 50% до 25%.

v1.0.3

 

  • Заменены запрещённые байты с 0 по 31 в именах файлов.
  • Изменено открытие архивов в общем доступе.
  • Исправлен баг с памятью при импорте больших файлов в архив.
  • Добавлена локализация на английский.

v1.0.2

 

  • Добавлена буферизация, для запаковки в большие архивы.
  • Изменён алгоритм запаковки файлов меньших размеров от оригинала.
  • И другие небольшие исправления.

v1.0.1

 

  • Исправлен тип данных в количестве файлов.
  • Заменены запрещённые символы в именах файлов.
  • Мелкие исправления gui.

v1.0

 

  • Добавлен импорт файлов.
  • Добавлен экспорт импорт по маске через консоль.
  • Исправлено добавление номера дублирующихся файлов в разных регистрах.
  • Исправлен экспорт дублирующихся файлов через консоль.
  • Изменено добавление номера дублирующихся файлов с *.тип_номер на *.номер.тип

 

Spoiler

Использование:

UnityEX задача <архив unity> [настройки]

задача:

export

Распаковать все файлы из архива в каталог \Unity_Assets_Files\имя_архива\

import

Запаковать все файлы в архив из каталога \Unity_Assets_Files\имя_архива\

exportbundle

Распаковать bundle из архива в каталог \Unity_Assets_Files\имя_архива\Bundle

настройки:

-t <тип> экспорт импорт файлов по типу (-t ttf,txt,114,tex,dds,crn,ktx,pvr,obj...)

-f экспорт шрифтов в контейнере типом fnt.

-p выбранный путь для операций с файлами (-p "PATH"). По умолчанию где находится архив.

-nft отключение переворачивания текстур dds.

-ndc отключение захвата консольного, с захватом возможна ошибка на x64ОС.

При запуске без параметров запускается графический интерфейс.

Все MonoBehaviour могут быть извлечены через настройку (-t 114), типы файлов с отрицательным числом.

Схемы конвертации.

da9ed9a59d30.png

 

Если кто желает отблагодарить или проспонсировать, то вот номера кошельков:

 

WebMoney:

WMR - R345178676524

WMZ - Z902634901912

WME - E675124820338

QIWI - dragonzh@yandex.ru

Яндекс.Деньги - 410012996939768

Изменено пользователем DZH
Добавлен список изменений.
  • +1 1

Поделиться сообщением


Ссылка на сообщение

Денег много не имею, но 300 рублей отправлю. Жду запаковку для работы.

Поделиться сообщением


Ссылка на сообщение

Тоже скинул денег.

На какое время распланировано >>В будущем? На несколько недель? На месяц? Месяцы? Год?

Поделиться сообщением


Ссылка на сообщение
Тоже скинул денег.

На какое время распланировано >>В будущем? На несколько недель? На месяц? Месяцы? Год?

Запаковку сделаю на следующей неделе. А с текстурами точно не могу сказать, как получится, может в течение месяца.

Поделиться сообщением


Ссылка на сообщение
Запаковку сделаю на следующей неделе. А с текстурами точно не могу сказать, как получится, может в течение месяца.

how about importing font files ??? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
how about importing font files ??? :rolleyes:

Да. Yes.

Изменено пользователем DZH

Поделиться сообщением


Ссылка на сообщение
Запаковку сделаю на следующей неделе. А с текстурами точно не могу сказать, как получится, может в течение месяца.

Ещё вопрос.

Сейчас, чтобы найти игровой текст, мы вынуждены производить сразу несколько процедур.

1. Сначала распаковываем все файлы с помощью BMS

2. Затем запускаем total commander и там через поиск по тексту ищем бинарники, в которых содержится нужная фраза.

Собственно, вопрос.

Можно ли интегрировать в UnityEX функцию поиска по тексту внутри файлов?

Чтобы можно было найти нужные бинарники с текстом без распаковки всего .assets файла.

Т.е. запустил UEX, открыл .assets, поставил в строке поиска галочку на >>поиск по тексту, вставил текст. И программа фильтром отсеивает файлы, оставляя только те, где данный текст содержится. И тут можно либо сразу их извлечь, либо воспользоваться тем, что узнал тип, в котором содержится текст и извлечь все файлы этого типа.

Таким образом, для поиска нужных файлов не придётся распаковывать весь .assets файл и запускать totalcommander для поиска бинарников с текстом.

Поделиться сообщением


Ссылка на сообщение
Ещё вопрос.

Сейчас, чтобы найти игровой текст, мы вынуждены производить сразу несколько процедур.

1. Сначала распаковываем все файлы с помощью BMS

2. Затем запускаем total commander и там через поиск по тексту ищем бинарники, в которых содержится нужная фраза.

Собственно, вопрос.

Можно ли интегрировать в UnityEX функцию поиска по тексту внутри файлов?

Чтобы можно было найти нужные бинарники с текстом без распаковки всего .assets файла.

Т.е. запустил UEX, открыл .assets, поставил в строке поиска галочку на >>поиск по тексту, вставил текст. И программа фильтром отсеивает файлы, оставляя только те, где данный текст содержится. И тут можно либо сразу их извлечь, либо воспользоваться тем, что узнал тип, в котором содержится текст и извлечь все файлы этого типа.

Таким образом, для поиска нужных файлов не придётся распаковывать весь .assets файл и запускать totalcommander для поиска бинарников с текстом.

Пока сложно сказать, как это реализовать и как это может отразиться на производительности.

Поделиться сообщением


Ссылка на сообщение
Пока сложно сказать, как это реализовать и как это может отразиться на производительности.

Возможно есть исходники по файловым менеджерам, которые умеют искать внутри файлов?

Кстати, о производительности. Нельзя подобное сделать подключаемым модулем? Который можно отключить.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

Обновление. Версия 1.0

- Добавлен импорт файлов.

- Добавлен экспорт импорт по маске через консоль.

- Исправлено добавление номера дублирующихся файлов в разных регистрах.

- Исправлен экспорт дублирующихся файлов через консоль.

- Изменено добавление номера дублирующихся файлов с *.тип_номер на *.номер.тип

Возможно есть исходники по файловым менеджерам, которые умеют искать внутри файлов?

Кстати, о производительности. Нельзя подобное сделать подключаемым модулем? Который можно отключить.

Дело в том, что при открытии не файлы, а лишь их имена, поиск нужно выполнять в самом архиве, а по смещению выдавать файл. Скорее всего, это всё реализуемо, может быть посмотрю это дело.

Поделиться сообщением


Ссылка на сообщение

При извлечение шрифтов шапка и футер обрезаются, это хорошо

Когда извлекаем файлы из бинарников, типа sharedassets0_3940.102 как они названы в unity assets explorer, плагин тотал, скриптам bms, т.е. префиксом добавляется номер файла внутри assets, а тут выходит sharedassets0_00001 с префиксами 00001 и так далее по возрастающей в зависимости от типа файла, хорошо бы сделать префиксом номер файла, чтобы при работе с другими программами не приходилось переименовывать файла и искать проще

Открыл бинарный maindata (игра claire), почти у вех файлов тип 1, соответственно -42 не видит, хотя кол-во файлов пишет что 32869 , а должно быть 163941..ограничение на кол-во файлов есть?

Изменено пользователем Werewolfwolk

Поделиться сообщением


Ссылка на сообщение
Support *.unity3d (Unity web) files ?

Тут посмотри: http://aluigi.altervista.org/papers/bms/un...d_webplayer.bms

Try this: http://aluigi.altervista.org/papers/bms/un...d_webplayer.bms

# Unity Web Player (unity3d files) (script 0.2)#   thanks to Chipicao for additional info# script for QuickBMS http://quickbms.aluigi.orgendian bigcomtype lzma86headidstring "UnityWeb"get DUMMY longget VER1 byteget VER2 stringget VER3 stringget SIZE longget DUMMY short # not supported at the momentget OFFSET shortget DUMMY longget ENTRIES longfor i = 0 < ENTRIES # last entry remain saved   get ZSIZE long   get SIZE longnext iget LAST_OFFSET longget DUMMY byteget NAME filenamestring NAME += "_unpacked"#unpacker only#clog NAME OFFSET SIZE SIZEset PATH string NAMEclog MEMORY_FILE OFFSET ZSIZE SIZEget FILES long MEMORY_FILEfor i = 0 < FILES   get NAME string MEMORY_FILE   get OFFSET long MEMORY_FILE   get SIZE long MEMORY_FILE   set FNAME string PATH   string FNAME += /   string FNAME += NAME   log FNAME OFFSET SIZE MEMORY_FILEnext i

 

Поделиться сообщением


Ссылка на сообщение
Открыл бинарный maindata (игра claire), почти у вех файлов тип 1, соответственно -42 не видит, хотя кол-во файлов пишет что 32869 , а должно быть 163941..ограничение на кол-во файлов есть?

163941 в HEX = 28065, 32869 в HEX = 8065

Уловил суть? Кол-во файлов читает только 2 байта вместо 4х.

Еще кое-что:

  • Сделай центровку окна по центру экрана а не по-дефолту
  • Поправь мерцание списка файлов при изменении размера окна
  • Сделай поиск по списку файлов, удобная штука, когда над быстро перескочить на определенный файл
  • Не понял для чего сделано редактирование порядкового номера по даблклику, хотя на Enter он и не сохраняется
  • Колонка "подтип" на мой взгляд тут ни к чему. Ее можно убрать. Полезнее была бы инфа по смещению участка, где записан размер/смещение данного файла в asset-файле
  • Ну и конвертация текстур была бы полезна

Поделиться сообщением


Ссылка на сообщение
Когда извлекаем файлы из бинарников, типа sharedassets0_3940.102 как они названы в unity assets explorer, плагин тотал, скриптам bms, т.е. префиксом добавляется номер файла внутри assets, а тут выходит sharedassets0_00001 с префиксами 00001 и так далее по возрастающей в зависимости от типа файла, хорошо бы сделать префиксом номер файла, чтобы при работе с другими программами не приходилось переименовывать файла и искать проще

Может эта штука, нужна при обновлении, ведь добавление одного файла в архиве новой версии смещает все остальные номера, а тут только по типу смещение будет?

163941 в HEX = 28065, 32869 в HEX = 8065

Уловил суть? Кол-во файлов читает только 2 байта вместо 4х.

Да я понял, тип данных не тот, поправлю. Остальное учёл, только сам не понял, откуда это редактирование по даблклик и как его убрать.

Поделиться сообщением


Ссылка на сообщение

DZH

Вопрос есть. По какому принципу реализовал добавление (импорт) файла бОльшего размера? Записываешь на место оригинального, смещая все последующие дальше или же дописываешь в конец архива?

И небольшое предложение. Вижу ты тоже на Delphi пишешь. Предлагаю объединить усилия и к примеру с помощью закрытого репозитрию на гитхабе вместе работать над единой программой? Это просто предложение, само обой ты можешь отказаться. Что думаешь?

Изменено пользователем Haoose

Поделиться сообщением


Ссылка на сообщение
Тут посмотри: http://aluigi.altervista.org/papers/bms/un...d_webplayer.bms

Try this: http://aluigi.altervista.org/papers/bms/un...d_webplayer.bms

# Unity Web Player (unity3d files) (script 0.2)#   thanks to Chipicao for additional info# script for QuickBMS http://quickbms.aluigi.orgendian bigcomtype lzma86headidstring "UnityWeb"get DUMMY longget VER1 byteget VER2 stringget VER3 stringget SIZE longget DUMMY short # not supported at the momentget OFFSET shortget DUMMY longget ENTRIES longfor i = 0 < ENTRIES # last entry remain saved   get ZSIZE long   get SIZE longnext iget LAST_OFFSET longget DUMMY byteget NAME filenamestring NAME += "_unpacked"#unpacker only#clog NAME OFFSET SIZE SIZEset PATH string NAMEclog MEMORY_FILE OFFSET ZSIZE SIZEget FILES long MEMORY_FILEfor i = 0 < FILES   get NAME string MEMORY_FILE   get OFFSET long MEMORY_FILE   get SIZE long MEMORY_FILE   set FNAME string PATH   string FNAME += /   string FNAME += NAME   log FNAME OFFSET SIZE MEMORY_FILEnext i

 

How to edit CAB files ??? Thanks :D

Поделиться сообщением


Ссылка на сообщение
DZH

Вопрос есть. По какому принципу реализовал добавление (импорт) файла бОльшего размера? Записываешь на место оригинального, смещая все последующие дальше или же дописываешь в конец архива?

И небольшое предложение. Вижу ты тоже на Delphi пишешь. Предлагаю объединить усилия и к примеру с помощью закрытого репозитрию на гитхабе вместе работать над единой программой? Это просто предложение, само обой ты можешь отказаться. Что думаешь?

Импорт вместо оригинального. А массовая складывается сумма, смещается и каждому файлу даётся свой кусок. Можно и по одному сделать через контексное меню.

От совместной работы над одной прогой откажусь, просто даже не представляю как это, запутаться можно. А от предоставления инфы не откажусь.

Поделиться сообщением


Ссылка на сообщение
DZH

Вопрос есть. По какому принципу реализовал добавление (импорт) файла бОльшего размера? Записываешь на место оригинального, смещая все последующие дальше или же дописываешь в конец архива?

Самое логичное - в заголовке править размер и смещения и писать файл в тоже место. Надо только понять что там с выравниванием байт. Unity asset bundle extractor именно так делает. Т.к. заголовок всегда остается постоянного размера, проблем вообще никаких не должно быть. Сформировал блок данных и параллельно создал массив с размерами и смещениями. После этого собрал заголовок и записал все в файл. И насколько я понимаю, порядок файлов менять нельзя. В других архивах могут быть ссылки на них. А ссылка завязана на порядковом номере файла в assets-файле.

Изменено пользователем barmaklei

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас




Zone of Games © 2003–2018 | Реклама на сайте.

Система Orphus

×