ZcaTool is tool used to compress Nintendo Switch Formats (NCA/NSP/XCI) using the ZRA compression library. The ZRA.NET wrapper library is used here.
Usage: ZcaTool(.exe) [options] <path>
Options:
-h, --help Show this message and exit
-v, --dev=VALUE Load production keys as development keys (optional)
-p, --prodkeys=VALUE Path to a file containing switch production keys. (optional)
-k, --titlekeys=VALUE Path to a file containing switch title keys. (optional)
-l, --level=VALUE zStd compression level used to compress the file.
-f, --framesize=VALUE Size of a frame used to split a file.
-o, --output=VALUE The directory to output the compressed file. (Defaults to the same dir as input file)
-t, --temp=VALUE The directory to use for storing temp files. (Defaults to OS temp)
Original | Compressed |
---|---|
NCA | ZCA |
NSP | ZSP |
XCI | ZCI |
- ZCA is a plaintext NCA compressed using ZRA. It also contains a ZCA Header which is located in the ZRA Metadata Section
- ZSP/ZCI files are functionally identical to NSP/XCI files, but have been renamed to signify they contain ZCA files.
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | "ZCA0" Magic (ASCII) |
0x4 | 0x1 | Section Count |
0x5 | 0x19 * Section Count | Section Info Array |
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | Offset (Int64) |
0x8 | 0x8 | Size (Int64) |
0x10 | 0x1 | Encryption Type |
0x11 | 0x8 | AES Counter (UInt64) |
We use a simple 3-clause BSD license located at LICENSE for easy integration into projects while being compatible with the libraries we utilize