warrantyvoider wrote:back home and back coding^^ started by making initFS browseable too
EDIT1:
Yay, I can load entire bundles in my VFS and display them! now I need to find one that uses encryption...
EDIT2:
now I can also decrypt the data on the fly and display it too, this is one of these "embargoed" items... (data\win32\loctext\en.toc -> .../tl_dlc -> load only res in bundle)
so now it automatically: decrypts, decompresses and puts all the pieces back together!
EDIT3: attached my current version; added an option to clear the VFS without restart; if you click on the top node in the structure view of a bundle and press F1 (shortcut for loading stuff), it will load the entire bundle into VFS. same goes for all ebx/res/chunk if you click a node named like that and single import if you pick one of its children nodes
PS: also thanks to everyone that contributed code and information so far, you will be added to the credits later, definitly!
I'm writting my own tool with C++, using you algo. While debugging, i see, you are not correctly parsing .toc files. You suggest that types 0x82, 0x87 is completly different, but it's not true.
I found some information
here. Type splits into flags and typecode. 0x82 - Flag = 0x4 Type=0x2
Flag 4 means that we need to skeep reading null terminated name for this field. Also, requiredChunks after that parses as list of 0x0F types (0x8F with flag).
Sample from my json dump
Code: Select all
{
"alwaysInstalled": false,
"estimatedSize": 871620188,
"friendlyName": 0,
"id": "��\u0012Ɵ\u0019�%8��#�CTu",
"installBundle": "Win32/streaminginstall/ayainstallpackage",
"license": "",
"mandatoryDLC": false,
"maxSizeMB": -1,
"name": "streaminginstall/ayainstallpackage",
"optionalDLC": false,
"requiredChunks": [
"7�\t���\r��r��wڲ�",
"?���\u0012C;�ڞ\\����\u0006",
"GBWT+� �m\u0015���½L",
"n��5����\"��\u001b�S",
"n��5����;��\u001b�S",
"n��5����7��\u001b�S",
"q��(I�T���[㨍�[",
"q��(I�T���[����[",
"q��(I�T���[����[",
"u����bu[\u001f�%���� ",
"u����bu[\u001f�%���� ",
"u����bu[\u001f�%���� ",
"�\u0002��\u0012C���\u0012qX��d\u0010",
"��f\u0001d���Q��",
"��f\u0001d���Q��\u0001`�J\u0010",
"��f\u0001d���Q��\u001fu�J\u0010",
"ʗ��v6�8��}aFl�C",
"��S�m?r\u001b����Z�2X",
"��S�t?r\u001b����Z�2X",
"��S�x?r\u001b����Z�2X"
],
"saveLocked": true,
"superbundles": [
"Win32/game/levels/hubs/hub_aya_unc/hub_aya_unc_level",
"Win32/game/levels/crit/crit_vlt/crit_vlt",
"Win32/game/levels/hubs/hub_aya/hub_aya_level"
],
"testDLC": false
}
p.s. thanks to weiyun for decrypt code.