DotNet 3DS Toolkit

From GameBrew

.Net 3DS Toolkit
Dotnet3dstoolkit2.png
General
Authorevandixon
Last Updated2018/10/08
TypeFile Operation
Version1.5.0
LicenseMixed
Links
1.4.6 / 1.5.0 Download
Website
Source

.Net 3DS Toolkit is a code library intended to simplify extracting and rebuilding 3DS ROMs, where ROMs can be extracted and repacked with a single command per operation, instead of using a dozen of commands.

It is currently being rewritten in .Net Core 2.2 (and .Net Standard 2.1 once it's out). Please see the Old folder for the original source and details.

Features

  • Extract decrypted CCI files.
  • Extract decrypted CIA files.
  • Extract & Rebuild decrypted CXI files.
  • Extract & Rebuild decrypted RomFS files.
  • Extract & Rebuild decrypted ExeFS files.
  • Allow reading data of individual files for all above formats without extraction.

User guide

System requirements

  • .Net Framework 4.6.
  • Free space on the system drive. Cleanup happens as soon as possible, but especially for larger ROMs, you may need several GB free.

Supported formats for extraction

  • Decrypted CCI (aka .3DS).
  • Decrypted CXI (what Braindump gives you).
  • Decrypted CIA.
  • NDS ROM.

Supported formats for building

  • Decrypted CCI (aka .3DS) - For use with Citra. Can be used for Gateway and Sky 3DS (with CFW) if encrypted via Decrypt9.
  • 0-Key Encrypted CCI - For use with Gateway.
  • CIA - For use with CFW.
  • HANS RomFS, Code.Bin, and Homebrew Launcher Shortcut.
  • NDS ROM.

Usage

To extract:

ToolkitConsole.exe MyRom.3ds RawFiles

To repack as a CIA:

ToolkitConsole.exe RawFiles Repacked.cia

To repack as a 0-key encrypted CCI (for use with Gateway):

ToolkitConsole.exe RawFiles Repacked.3ds -key0
OR
ToolkitConsole.exe RawFiles Repacked.3dz

Note: 3dz files will be invalid until a private header is applied.

To repack as a decrypted CCI (for use with Citra or Decrypt9):

ToolkitConsole.exe RawFiles Repacked.3ds

To repack for HANS:

ToolkitConsole.exe RawFiles G:/ MyHack

A GUI is available for anyone who doesn't want to bother with console commands. A .Net 4.6 code library is available for .Net developers making their own programs. See GitHub for library usage. Latest package will be on Sky Editor's MyGet feed and may be added to NuGet at some point.

Screenshots

dotnet3dstoolkit6.png

dotnet3dstoolkit7.png

dotnet3dstoolkit8.png

Credits

  • 3dbrew.org for documentation.
  • SciresM for 3DS Builder (modified to use command-line arguments).
  • profi200 for Project_CTR's makerom.
  • dnasdw for 3dstool.
  • Asia81 for HackingToolkit3DS, which provided the usage for 3dstool.

External links