mirror of
https://github.com/jakcron/nstool
synced 2024-11-15 02:06:40 +00:00
35 lines
No EOL
1.5 KiB
Markdown
35 lines
No EOL
1.5 KiB
Markdown
# NXTools
|
|
|
|
Tools & Libraries for NX (Nintendo Switch).
|
|
|
|
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)
|
|
|
|
# Tools
|
|
|
|
* __nstool__ - read *.npdm, read/extract PartitionFS (PFS0|HFS0) blobs (including *.nsp), read/extract RomFS blobs, read/extract *.xci, read/extract *.nca, read *.cnmt, read *.nso, read *.nro, read *.nacp
|
|
|
|
# Libraries
|
|
|
|
* __libfnd__ - Foundation library.
|
|
* __libcrypto__ - Cryptographic functions (AES,SHA,RSA). Wrapper for [mbedTLS](https://github.com/ARMmbed/mbedtls)
|
|
* __libcompress__ - Compression algorithms (LZ4). Wrapper for [lz4](https://github.com/lz4/lz4)
|
|
* __libpki__ - Processes Nintendo's proprietary PKI.
|
|
* __libes__ - Processes Nintendo's eShop file types.
|
|
* __libnx__ - Processes NX file types.
|
|
* __libnx-hb__ - Processes NX file types (homebrew extensions).
|
|
|
|
# Building
|
|
|
|
On MacOS/Linux/WSL run `make`.
|
|
|
|
For Windows, Visual Studio 2017 is supported.
|
|
|
|
# External Keys
|
|
|
|
Programs/libraries don't embed any keys that are copyright protected. However keys can be imported via a keyset file.
|
|
|
|
For programs that support it, the keyset file can be provided via the command line (see program usage for details). Alternatively a keyset file located in ___$HOME/.switch/prod.keys___ (or ___$HOME/.switch/dev.keys___ for dev) will be imported automatically if one is not provided at the command line.
|
|
|
|
Keyset files are ASCII text files containing one key per line, in the form "__key_name = HEXADECIMALKEY__". Case and whitespace do not matter, ';' character can be used to insert comments.
|
|
|
|
See [KEYS.md](/KEYS.md) for more details. |