No description
Find a file
2018-01-31 15:22:58 -08:00
.gitignore First Public commit. 2018-01-24 09:52:25 -08:00
aes.c First Public commit. 2018-01-24 09:52:25 -08:00
aes.h First Public commit. 2018-01-24 09:52:25 -08:00
bktr.c First pass implementation for BKTR support (#1). 2018-01-26 21:31:55 -08:00
bktr.h First pass implementation for BKTR support (#1). 2018-01-26 21:31:55 -08:00
config.mk.template First Public commit. 2018-01-24 09:52:25 -08:00
filepath.c Fix extraction filepath copying on WIN32 2018-01-24 22:28:35 -08:00
filepath.h Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
ivfc.h First Public commit. 2018-01-24 09:52:25 -08:00
LICENSE First Public commit. 2018-01-24 09:52:25 -08:00
main.c Implement --basenca support (closes #1). 2018-01-27 03:24:01 -08:00
Makefile First pass implementation for BKTR support (#1). 2018-01-26 21:31:55 -08:00
nca.c Implement --basenca support (closes #1). 2018-01-27 03:24:01 -08:00
nca.h Implement --basenca support (closes #1). 2018-01-27 03:24:01 -08:00
npdm.c Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
npdm.h wrong variable name 2018-01-31 23:58:19 +01:00
pfs0.h Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
pki.h Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
README.md First Public commit. 2018-01-24 09:52:25 -08:00
rsa.c First Public commit. 2018-01-24 09:52:25 -08:00
rsa.h Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
settings.h Implement --basenca support (closes #1). 2018-01-27 03:24:01 -08:00
sha.c First Public commit. 2018-01-24 09:52:25 -08:00
sha.h Fix compiling on macOS by adding the Homebrew library includes, fix clang compilation warnings (missing newlines, fixed some printf arguments, updated old POSIX standard causing clang not to define vsnprintf) 2018-01-24 23:18:27 +01:00
types.h First Public commit. 2018-01-24 09:52:25 -08:00
utils.c First Public commit. 2018-01-24 09:52:25 -08:00
utils.h First Public commit. 2018-01-24 09:52:25 -08:00
version.h First Public commit. 2018-01-24 09:52:25 -08:00

ncatool

License

ncatool is a tool to view information about, decrypt, and extract Nintendo Content Archives.

It is heavily inspired by ctrtool.

Usage

Usage: ncatool [options...] <file>
Options:
-i, --info        Show file info.
                      This is the default action.
-x, --extract     Extract data from file.
                      This is also the default action.
  -r, --raw          Keep raw data, don't unpack.
  -y, --verify       Verify hashes and signatures.
  -d, --dev          Decrypt with development keys instead of retail.
  --titlekey=key     Set title key for Rights ID crypto titles.
  --contentkey=key   Set raw key for NCA body decryption.
NCA options:
  --section0=file    Specify Section 0 file path.
  --section1=file    Specify Section 1 file path.
  --section2=file    Specify Section 2 file path.
  --section3=file    Specify Section 3 file path.
  --section0dir=dir  Specify Section 0 directory path.
  --section1dir=dir  Specify Section 1 directory path.
  --section2dir=dir  Specify Section 2 directory path.
  --section3dir=dir  Specify Section 3 directory path.
  --exefs=file       Specify ExeFS file path. Overrides appropriate section file path.
  --exefsdir=dir     Specify ExeFS directory path. Overrides appropriate section directory path.
  --romfs=file       Specify RomFS file path. Overrides appropriate section file path.
  --romfsdir=dir     Specify RomFS directory path. Overrides appropriate section directory path.
  --listromfs        List files in RomFS.

Building

Copy config.mk.template to config.mk, make changes as required, and then run make. If your make is not GNU make (e.g. on BSD variants), you need to call gmake instead.

To build under windows, you will need to build libgpgerror, and libgcrypt. You may need libiconv when not building on Linux. Fairly recent versions (~1.8.0) are required of the libraries in order to support AES-XTS operations. I recommend using MinGW.

Licensing

This software is licensed under the terms of the ISC License.
You can find a copy of the license in the LICENSE file.