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-09 15:33:17 +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
2018-04-24 09:25:05 +00:00
# Libraries
2018-06-01 12:18:36 +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 )
* __libes__ - Handling of (NX relevant) eShop file type processing. (eTickets, etc)
2018-06-10 06:57:00 +00:00
* __libnx__ - Handling of NX file types.
* __libnx-hb__ - Handling of NX (homebrew extensions) file types.
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.