Giter Club home page Giter Club logo

nstool's Introduction

Nintendo Switch Tool (NSTool) DeviceTag

General purpose reading/extraction tool for Nintendo Switch file formats.

Supported File Formats

  • Meta (.npdm)
  • PartitionFS (and HashedPartitionFS) (includes raw .nsp)
  • RomFS (and CompressedRomFS)
  • NX GameCard Image (.xci)
  • Nintendo Content Archive (.nca)
  • Content Metadata (.cnmt)
  • Nintendo Software Object (.nso)
  • Nintendo Relocatable Software Object (.nro)
  • Kernel Initial Process List (.ini)
  • Kernel Initial Process (.kip)
  • Nintendo Application Control Property (.nacp)
  • ES Ticket (v2 only) (.tik)
  • PKI Certificate (.cert)

Usage

Usage: nstool [options... ] <file>

  General Options:
      -d, --dev       Use devkit keyset.
      -k, --keyset    Specify keyset file.
      -t, --type      Specify input file type. [xci, pfs, romfs, nca, meta, cnmt, nso, nro, ini, kip, nacp, aset, cert, tik]
      -y, --verify    Verify file.

  Output Options:
      --showkeys      Show keys generated.
      --showlayout    Show layout metadata.
      -v, --verbose   Verbose output.

  XCI (GameCard Image)
    nstool [--listfs] [--update <dir> --logo <dir> --normal <dir> --secure <dir>] <.xci file>
      --listfs        Print file system in embedded partitions.
      --update        Extract "update" partition to directory.
      --logo          Extract "logo" partition to directory.
      --normal        Extract "normal" partition to directory.
      --secure        Extract "secure" partition to directory.

  PFS0/HFS0 (PartitionFs), RomFs, NSP (Ninendo Submission Package)
    nstool [--listfs] [--fsdir <dir>] <file>
      --listfs        Print file system.
      --fsdir         Extract file system to directory.

  NCA (Nintendo Content Archive)
    nstool [--listfs] [--bodykey <key> --titlekey <key>] [--part0 <dir> ...] <.nca file>
      --listfs        Print file system in embedded partitions.
      --titlekey      Specify title key extracted from ticket.
      --bodykey       Specify body encryption key.
      --tik           Specify ticket to source title key.
      --cert          Specify certificate chain to verify ticket.
      --part0         Extract "partition 0" to directory.
      --part1         Extract "partition 1" to directory.
      --part2         Extract "partition 2" to directory.
      --part3         Extract "partition 3" to directory.

  NSO (Nintendo Software Object), NRO (Nintendo Relocatable Object)
    nstool [--listapi --listsym] [--insttype <inst. type>] <file>
      --listapi       Print SDK API List.
      --listsym       Print Code Symbols.
      --insttype      Specify instruction type [64bit|32bit] (64bit is assumed).

  INI (Initial Process List Blob)
    nstool [--kipdir <dir>] <file>
      --kipdir        Extract embedded KIPs to directory.

  ASET (Homebrew Asset Blob)
    nstool [--listfs] [--icon <file> --nacp <file> --fsdir <dir>] <file>
      --listfs        Print filesystem in embedded RomFS partition.
      --icon          Extract icon partition to file.
      --nacp          Extract NACP partition to file.
      --fsdir         Extract RomFS partition to directory.

External Keys

NSTool doesn't embed any keys that are copyright protected. However keys can be imported via various keyset files.

See SWITCH_KEYS.md for more info.

Building

See BUILDING.md.

nstool's People

Contributors

jakcron avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.