Jump to content
Korean Random
SkepticalFox

space.bin (CompiledSpace) - packer/unpacker

Recommended Posts

Длина секции с данными у нее не кратна четырем, а это намекает...

хм. возможно, есть однобайтные int/bool.

P.S. неплохое окультуренное название темы.

P.P.S. у меня недельные каникулы в Дмитрове. Тут нет компа :((((

P.P.P.S. не могу закинуть, у самих проблемы с бюджетом.

обычно реквизиты пишут в подпись.

Share this post


Link to post

Short link
Share on other sites

Вполне может быть.

Наверно, годов через 3 я тоже столкнусь с сей бедой.

....

кстати, как тобi json2space_py? надо только секции поправить и все сборы данных вынести в класс DecompiledSpace...

А потом все слиять с файлами распаковщика. Класс DecompiledSpace будет лежать рядом с CompiledSpace, то же самое с функцией распаковки секции хххх.

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

Я пока ничем не могу помочь. Так сложилось: я в Дмитрове, тут нет компьютера. бабушке с недавним инсультом нельзя напрягаться, веду сестру в школу и музыкалку.

вернусь в выходные - обязательно дореверсю bswg.

Share this post


Link to post

Short link
Share on other sites

@Pavel3333, я залил свой ассемблер space.bin

Вроде не так уж и сложно получилось...

Осталось дореверсить секции...

Edited by SkepticalFox
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Иногда мне кажется, что большая часть уже сделана...

Все что уже сделано отлично работает и пакует секции один в один как и до распаковки)

post-16296-0-89919100-1492103798_thumb.png

...но я вспоминаю про неразобранные секции BWSG, BWT2, BWSS...

Также не ясно, влияет ли порядок записи секций хоть на что-то.

И не ясна судьба числа после заголовка...

Сделаю их константами для секций...

Edited by SkepticalFox
  • Upvote 4

Share this post


Link to post

Short link
Share on other sites

По факту уже можно пробовать восстанавливать ангары сломанные в WoT 0.9.13+

Для этого нужно распаковать space.bin с совместимостью с 0.9.12. Исправить некоторые отличия в JSON. Запаковать с совместимостью 0.9.17.1.

  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

Внешний реверс BWSG.

post-18657-0-35586600-1493268705_thumb.png

В строке с путями точки являются разделителями.

Неизвестно, что содержится в данных. Это явно не примитивы, так как они весят в три раза больше, чем сам файл BWSG. Вполне возможно, что это зашифрованные примитивы. Хотя не, бред какой-то.

Указателей на 254-е смещение не нашёл, они могут быть в BWTB. 


Я готовлюсь к экзаменам, чем-либо заниматься в сфере танков не буду в течении одного-двух месяцев.

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

сколько секций осталось, кстати?

проще сказать сколько есть на данный момент)

Еще очень много неизвестного.

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites

@SkepticalFox, смотри, что за дерьмо картошка сделала с моей базой с пилимётиками, добавив ее в space.bin...

KAxNKKgc3ZoDm8.jpg

сейчас опробую твой распаковщик.

<<< ============= orig ================
<<< ('BWTB', 1, 600, 0, 0, 24)
<<< ('BWST', 2, 600, 0, 85909, 0)
<<< ('BWAL', 2, 86509, 0, 1000, 0)
<<< ('BWCS', 1, 87509, 0, 28, 0)
<<< ('BWSG', 2, 87537, 0, 26171, 0)
<<< ('BSGD', 2, 113708, 0, 9518896, 0)
<<< ('BWT2', 2, 9632604, 0, 7226, 0)
<<< ('BSMI', 2, 9639830, 0, 55992, 0)
<<< ('BSMO', 1, 9695822, 0, 60968, 0)
<<< ('BSMA', 1, 9756790, 0, 25520, 0)
<<< ('SpTr', 3, 9782310, 0, 154516, 0)
<<< ('BWfr', 2, 9936826, 0, 8, 0)
<<< ('WGSD', 2, 9936834, 0, 42280, 0)
<<< ('WTCP', 2, 9979114, 0, 8, 0)
<<< ('BWWa', 2, 9979122, 0, 740, 0)
<<< ('BWEP', 4, 9979862, 0, 16, 0)
<<< ('WGCO', 1, 9979878, 0, 135670, 0)
<<< ('BWPs', 1, 10115548, 0, 84, 0)
<<< ('CENT', 1, 10115632, 0, 12, 0)
<<< ('UDOS', 1, 10115644, 0, 6255, 0)
<<< ('WGDE', 1, 10121899, 0, 29504, 0)
<<< ('BWLC', 1, 10151403, 0, 40, 0)
<<< ('WTau', 2, 10151443, 0, 16, 0)
<<< ('WTbl', 0, 10151459, 0, 152, 0)
<<< ('WGSH', 1, 10151611, 0, 8, 0)
<<< =============== new ===============
<<< ('BWTB', 1, 576, 0, 0, 23)
<<< ('BWST', 2, 576, 0, 85909, 0)
<<< ('BWAL', 2, 86485, 0, 1000, 0)
<<< ('BWCS', 1, 87485, 0, 28, 0)
<<< ('BWSG', 2, 87513, 0, 26171, 0)
<<< ('BSGD', 2, 113684, 0, 0, 0)
<<< ('BWT2', 2, 113684, 0, 0, 0)
<<< ('BSMI', 2, 113684, 0, 55992, 0)
<<< ('BSMO', 1, 169676, 0, 0, 0)
<<< ('BSMA', 1, 169676, 0, 25520, 0)
<<< ('SpTr', 3, 195196, 0, 154516, 0)
<<< ('BWfr', 2, 349712, 0, 8, 0)
<<< ('WGSD', 2, 349720, 0, 42280, 0)
<<< ('WTCP', 2, 392000, 0, 8, 0)
<<< ('BWWa', 2, 392008, 0, 740, 0)
<<< ('BWEP', 4, 392748, 0, 16, 0)
<<< ('BWPs', 1, 392764, 0, 84, 0)
<<< ('CENT', 1, 392848, 0, 12, 0)
<<< ('UDOS', 1, 392860, 0, 6255, 0)
<<< ('WGDE', 1, 399115, 0, 29504, 0)
<<< ('BWLC', 1, 428619, 0, 40, 0)
<<< ('WTau', 2, 428659, 0, 16, 0)
<<< ('WTbl', 0, 428675, 0, 152, 0)
<<< ('WGSH', 1, 428827, 0, 8, 0) 


это для 0_tank_tutorial. 

<<< ('BSGD', 2, 113684, 0, 0, 0)
<<< ('BWT2', 2, 113684, 0, 0, 0)

эти секции не закончены. за что отвечает BSGD?

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

эти секции не закончены. за что отвечает BSGD?

Там хранятся вершины, а треугольники с индексами этих вершин берутся из твоего ремода.

Заканчивать секции не хочется из-за слишком частых обнов от WG. Жду когда они успокоятся.

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites

Жду когда они успокоятся.

Умное решение. Подождем еще пару лет.

Там хранятся вершины, а треугольники с индексами этих вершин берутся из твоего ремода.

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

 

вот намудрили.

 

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

Share this post


Link to post

Short link
Share on other sites

@SkepticalFox, распаковщик секции BWLC дает пустые списки.

 

Есть идеи по тому как можно взять позиции и ротации "невидимых стен" на картах?

в какой секции копать?

Share this post


Link to post

Short link
Share on other sites

SkepticalFox, распаковщик секции BWLC дает пустые списки.

Ну для ангаров же он должен давать непустые секции, а для карт пустые секции это нормально.

Тем более не тестировал я распаковщик на новых клиентах.

 

Есть идеи по тому как можно взять позиции и ротации "невидимых стен" на картах? в какой секции копать?

Невидимые стены? Это же серверная физика...

Edited by SkepticalFox
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...