2017-07-18 14:23:37 +00:00
# NXTools
2018-04-24 09:25:05 +00:00
Tools & Libraries for NX (Nintendo Switch).
2017-07-18 14:23:37 +00:00
2018-04-24 10:11:47 +00:00
[![License ](https://img.shields.io/badge/license-MIT-blue.svg )](/LICENSE)
2018-04-24 09:25:05 +00:00
# Tools
2018-06-11 15:01:54 +00:00
* __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
2018-04-24 09:25:05 +00:00
# Libraries
2018-08-06 08:59:56 +00:00
* __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).
2018-04-24 09:25:05 +00:00
2018-04-25 04:59:42 +00:00
# Building
On MacOS/Linux/WSL run `make` .
For Windows, Visual Studio 2017 is supported.
2018-04-24 09:25:05 +00:00
# External Keys
Programs/libraries don't embed any keys that are copyright protected. However keys can be imported via a keyset file.
2018-04-24 10:18:01 +00:00
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.
2018-04-24 09:25:05 +00:00
2018-04-24 10:18:01 +00:00
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.
2018-04-24 09:25:05 +00:00
See [KEYS.md ](/KEYS.md ) for more details.