ninfs

From Hacks Guide Wiki
This is the approved revision of this page, as well as being the most recent.

ninfs is a PC tool for mounting files from Nintendo consoles.

Features

ninfs can mount and expose the contents of many different file types:

  • Nintendo 3DS
    • CTR Cart Image (".3ds", ".cci")
    • CDN contents ("cetk", "tmd", and contents)
    • CTR Importable Archive (".cia")
    • Executable Filesystem (".exefs", "exefs.bin")
    • Nintendo 3DS NAND backup ("nand.bin")
    • NCCH (".cxi", ".cfa", ".ncch", ".app")
    • Read-only Filesystem (".romfs", "romfs.bin")
    • SD Card Contents ("Nintendo 3DS" from SD)
    • Installed SD Title Contents ("*.tmd" and "*.app" files)
    • 3DSX Homebrew (".3dsx")
  • Nintendo DS / DSi
    • Nintendo DSi NAND backup ("nand_dsi.bin")
    • Nintendo DS ROM image (".nds", ".srl")
  • iQue Player
    • iQue Player NAND backup (read-only) ("nand.bin")
  • Nintendo Switch
    • Nintendo Switch NAND backup ("rawnand.bin")

Installation

The latest release can be downloaded from GitHub.

Standalone on Windows

Standalone builds support Windows 8.1 or later. Windows 7 may work (until it doesn't). WinFsp must be installed.

Standalone on macOS

The DMG download contains a signed and notarized application for Macs with Apple Silicon and Intel. Requires OS X 10.9 and later. macFUSE must be installed separately.

As a Python module

ninfs is available on PyPI and can be installed like any other package. Python 3.8.0 or later is required. Support depends on the availability of libfuse 2.x or a similar implementation. Nintendo Switch NAND support requires OpenSSL 1.1 or later (pre-included for Windows and macOS).

Usage

Graphical interface

The GUI can be started in various ways depending on how it was installed.

  • Windows: Find "ninfs" in the Start Menu. Or run ninfsw.exe in the standalone release.
  • macOS: Run the ninfs application. If this is the first time, Gatekeeper might ask you if you are sure you want to start it.
  • Python module: Run the ninfs module with the gui argument. Example:
    • Windows: py -3 -m ninfs gui
    • Linux and macOS: python3 -m ninfs gui

Command line

Mount types can be accessed through the command line in all setups.

  • Windows: If added to PATH, use ninfs <type>. For example: ninfs cia game.cia E:
  • macOS: Use the ninfs binary in the application. For example: /Applications/ninfs.app/Contents/MacOS/ninfs cia game.cia ~/Desktop/cia
  • Python module: Use the ninfs module. For example:
    • Windows: py -3 -m ninfs cia game.cia E:
    • Linux and macOS: python3 -m ninfs cia game.cia ~/Desktop/cia
  • Python module entrypoints: If Python is added to PATH (by default it is not on Windows), entrypoints can be used. For example: mount_cia game.cia ~/Desktop/cia

Guides