Jump to content

.Net 3DS Toolkit - Extract and Repack 3DS ROMs (and CIAs)


Recommended Posts

Ever notice how the majority of command-line applications require about a dozen commands for a single logical operation? This tool aims to fix that! ROMs can be extracted and repacked with a single command per operation, like so:

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 -key0ORToolkitConsole.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
 

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)

Supported formats for building:

  • Decrypted CCI (aka .3DS)
    • For use with Citra
    • Can be used for Gateway and Sky 3DS (with CFW) if encrypted using Decrypt9

    [*] 0-Key Encrypted CCI

    • For use with Gateway

    [*] CIA

    • For use with CFW

    [*] HANS RomFS, Code.Bin, and Homebrew Launcher Shortcut

Planned Features:

  • Copy private header to 0-key encrypted CCI files as they are built. Until this is done, any *.3dz files created are invalid until a private header is added.
  • Decrypted CIA extraction

This also doubles as a code library for developers. See GitHub for library usage. Latest package will be on Sky Editor's MyGet feed and may be added to NuGet at some point.

Credits:

  • 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.

Release Page

GitHub

Download

Link to comment
Share on other sites

  • 8 months later...
  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...