kotiq / wt-tools

War Thunder resource extraction tools
29 stars 3 forks source link

Unknown file format #15

Closed Keller18306 closed 1 year ago

Keller18306 commented 1 year ago

Как я понял автор говорит на русском, поэтому issue тоже уже напишу на русском.

При выполнении:

python blk_unpack_ng.py work\replays.blk

выдаёт:

work\replays.blk
    Unknown file format

Этот файл я взял из игры Replays\replays.wdb

Его копия: replays.zip

Почему я вдруг решил wdb переименовать в blk? На вики странице написано, что это файл blk: https://github.com/klensy/wt-tools/wiki image

Да и по содержимому он похож на один из этих, которые находятся тут: https://github.com/kotiq/blk/tree/master/tests/samples

image

kotiq commented 1 year ago

В wt-tools связаны вместе работа распаковщика vromfs.bin и распаковщика blk, которые он порождает. Часть кода унаследована, и я не стал его переделывать. Эти файлы нового формата я назову частичными. Они не содержат заголовков (в данном случае, первый байт), которые указывают на способ распаковки. Частичные файлы не встречаются в "дикой природе": в дампах памяти, в поддиректориях игры и т.д. Распаковщик полных файлов, как они представлены в vromfs образе, есть в dev ветке проекта blk.

python -m blk.demo.blk_unpacker replays.wdb --loglevel=debug
1667481654.872113 INFO Начало распаковки.
1667481654.900154 DEBUG '/media/games/kotiq/linux/WarThunder/Replays/replays.wdb': FAT => JSON
1667481654.900506 INFO [ OK ] '/media/games/kotiq/linux/WarThunder/Replays/replays.wdb'
1667481654.900547 INFO Успешно распаковано: 1/1
file replays.*
replays.wdb:  data
replays.wdbx: JSON text data
Keller18306 commented 1 year ago

Я нашёл описание формата у вас в репозитории. Поэтому я уже сделал под свой язык и оно работает. Фактически моя проблема решена)