|
|
|
#1
|
||||
|
||||
|
I will quote masquerade, maybe he will tell you how to process this.
Quote:
__________________
Haters gonna hate
|
| The Following User Says Thank You to KaktoR For This Useful Post: | ||
kuyhaa (07-07-2024) | ||
| Sponsored Links |
|
#2
|
|||
|
|||
|
^^
These p3a archives are made with dictionary ZSTD just like Zelda Tears of the Kingdom files. You can rebuild the archives using p3a_tool and decide for no compression. If you decide on the zstd compression with p3a_tool, you still need to brute force a stream to figure out what version and settings for ZSTD were used. I think there is more than one dictionary, they can be dumped from memory at runtime but that's about as far as I have got. |
| The Following User Says Thank You to Masquerade For This Useful Post: | ||
kuyhaa (07-07-2024) | ||
|
#3
|
|||
|
|||
|
I cannot believe I was unbelievably stupid to not check the archives themselves for the dictionary. After looking more closely at the syntax for the p3a_tool, there is the option "info". So:
Code:
CMD> p3a_tool.exe info scene.p3a PH3 archive scene.p3a: 916 files, v1200 Extended header available: 16 bytes, 304 bytes per index entry compression stats: none:0 lz4:0 zStd:0 zStdDict:916 compressed size: 89239105 (15%) uncompressed size: 578417191 Has dictionary, 112640 bytes The ZSTD dictionary compression format tells us that the magic number for a ZSTD dictionary is 0xEC30A437 (little endian). So, by searching for this magic number in HXD, sure enough we have our dictionary beginning at location 0x44000 for scene.p3a. Next, select a block and set the length to the dictionary length from earlier - 112640 bytes. Copy the select bytes and dump them to a new file, I called it scene.zdict. Now, if you unpack scene.p3a with: Code:
CMD> p3a_tool extract scene.p3a Code:
CMD> p3a_tool archive scene.MSQ scene --comp=zstd --dictionary=scene.zdict -- Code:
File: scene.MSQ
CRC-32: 04492de2
MD5: b2c8a40571e8673ed3682df82544281d
SHA-1: 95d40b6e693641ef8c7692531370fecd0378290c
BLAKE3: 79c13b93a662d4789949c228e116a52ac10a47d91562bd39023a61cabd09d0ca
File: scene.p3a
CRC-32: 04492de2
MD5: b2c8a40571e8673ed3682df82544281d
SHA-1: 95d40b6e693641ef8c7692531370fecd0378290c
BLAKE3: 79c13b93a662d4789949c228e116a52ac10a47d91562bd39023a61cabd09d0ca
|
| The Following User Says Thank You to Masquerade For This Useful Post: | ||
kuyhaa (09-07-2024) | ||
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| XTool 2020 (Main Project) | Razor12911 | Conversion Tutorials | 713 | 01-06-2026 23:52 |
| XTool - Successor of ZTool | Razor12911 | Conversion Tutorials | 584 | 22-04-2023 18:16 |
| [Dev]XTool | Razor12911 | Conversion Tutorials | 180 | 23-10-2020 06:26 |
| XTool 2019 (Plugins) | Razor12911 | Conversion Tutorials | 50 | 16-05-2020 06:14 |