You do not have permission to edit this page, for the following reason:
Free text:
{{#seo: |title= (PC Utilities) - GameBrew |title_mode=append |image=3dsconv.png |image_alt=3dsconv }} 3dsconv.py is a Python 3 tool that converts Nintendo 3DS game dumps (in .cci or .3ds format) into installable .cia files, the format used for installing games directly to your 3DS home menu. It supports CCI that is decrypted, encrypted using zerokey, or the original NCCH (slot 0x2C). * Encryption requires [https://github.com/ricmoo/pyaes pyaes] (<code>pip install pyaes</code>). * Original NCCH encryption requires [https://github.com/ihaveamac/3dsconv#encryption a dump of the protected ARM9 bootROM]. == User guide == === Basic use (Windows) === Just drag and drop your <code>.3ds</code> or <code>.cci</code> file onto <code>3dsconv.exe</code> (Note: For encrypted files, see the Encryption section below.) === Command line === You can run it as a standalone script or install it with: python3 setup.py install Basic command: python3 3dsconv.py [options] game.3ds [game2.3ds ...] Options: * <code>--output=<dir></code> - Save converted files to a custom folder (default: current directory or <code>output-directory</code> variable). ** <code>--boot9=<file></code> - Path to your <code>ARM9 bootROM</code> dump. ** <code>--overwrite</code> - Replace existing <code>.cia</code> files. ** <code>--ignore-bad-hashes</code> - Convert even if file hashes are invalid. ** <code>--ignore-encryption</code> - Treat the file as unencrypted. ** <code>--verbose</code> - Show detailed conversion info. ** <code>--dev-keys</code> - Use developer-unit keys. === Encryption requirements === To decrypt games using original NCCH encryption (slot <code>0x2C</code>), you’ll need a copy of the 3DS ARM9 bootROM (either <code>boot9.bin</code> or <code>boot9_prot.bin</code>). The file is checked in the order of: * Path set by <code>--boot9=</code> or <code>boot9_path</code> * <code>boot9.bin</code> (full) in the current folder * <code>boot9_prot.bin</code> (protected) in the current folder * <code>~/.3ds/boot9.bin</code> (full) * <code>~/.3ds/boot9_prot.bin</code> (protected) How to dump your bootROM: * Use boot9strap (follow [https://3ds.guide/ 3DS Guide]). * Hold Start+Select+X while booting to dump to <code>sdmc:/boot9strap/boot9.bin</code>. SHA-256 checksums (to verify your dump): * <code>boot9.bin</code>: <code>2f88744feed717856386400a44bba4b9ca62e76a32c715d4f309c399bf28166f</code> * <code>boot9_prot.bin</code>: <code>7331f7edece3dd33f2ab4bd0b3a5d607229fd19212c10b734cedcaf78c1a7b98</code> ==Changelog== '''v4.2''' * Fix conversion of titles with a dlp-child but no manual ([https://gbatemp.net/posts/7326476/ gbatemp]). * Now installable using setuptools, download source code and use <code>python3 setup.py install</code> ([https://github.com/ihaveamac/3dsconv/pull/13 #13], thanks [https://github.com/dr1s @dr1s]). * Titles can be converted for use on dev-units (not fully tested), including those encrypted with dev-unit keys. See README for usage and limitations. '''v4.1''' * Generate Meta region, for use with FBI and other tools. * Some more code cleanup. '''v4.0''' * Rewrite for Python 3 - 2.x is no longer supported. * Use pyaes instead of PyCrypto[dome]. * bootROM keys support - see README for details on usage. * XORpad support removed. * Rewritten output messages. * Other things I might have forgotten about. '''v3.21''' * Fix encrypted CCIs improperly being detected as zerokey encrypted ([https://github.com/ihaveamac/3dsconv/pull/8 #8], thanks [https://github.com/putnam @putnam]). * Fix bad <code>ncchinfo.bin</code> generation (wrong block size). '''v3.2''' * New: Zerokey crypto support without XORpads. ** PyCrypto is required. This can be installed with pip. ** This does not decrypt the contents of the CIA. Custom firmwares today don't support zerokey, only Gateway and Nintendo developer tools/firmware at the moment. Decrypt the CIA with Decrypt9 before installing. Decryption might come later, depending if custom firmwares support zerokey anytime soon. * New: <code>--ignorebadhash</code> to ignore bad SHA-256 hash of the ExHeader (is this even that useful?) * Code cleanup and other things. '''v3.1''' * Show percentage for each partition. * Other minor changes. '''v3.0''' *Manually builds the CIA now; makerom is no longer needed. **This should mean lower-memory computers can properly convert larger games. '''v2.2''' * Switched dependency from make_cia -> makerom (too many issues with make_cia, not worth it anymore). ** This should fix any issues with Manual/Download Play not working ([https://github.com/ihaveamac/3dsconv/issues/5 #5]). '''v2.16''' * py2exe support for building a single .exe for Windows. * Other small fixes. '''v2.15''' *Fix ncchinfo.bin generation again (not generating sometimes with just --gen-ncchinfo unless --gen-ncch-all was used). '''v2.14''' *Fix ncchinfo.bin generation (wrong variable used). '''v2.13''' * Fix: close Manual/Download Play child container before deleting (only seemed to be an issue on Windows). * Fix: output folder not being created (?) * Temporary work directory can be changed (variable workdir). * make_cia more verbose if --verbose is used. * Cleanup (tabs to spaces, re-organize code order, etc.) '''v2.12''' * Wildcard support for Windows (because the command prompt doesn't support it for some reason). * Properly close rom in case ExHeader hash check fails. '''v2.11''' *Fix ncchinfo.bin generation (generating a bad "Counter"). '''v2.1''' * 3dstool is no longer used, only [https://github.com/ihaveamac/ctr_toolkit make_cia] is required now. * New: <code>--overwrite</code> - overwrite any existing converted CIA, if it exists. * New: <code>--gen-ncchinfo</code> - generate <code>ncchinfo.bin</code> for roms that don't have a valid xorpad. ** <code>ncchinfo_gen_exheader.py</code> is no longer included. * New: <code>--gen-ncch-all</code> - use with <code>--gen-ncchinfo</code> to generate an <code>ncchinfo.bin</code> for all roms. * New: <code>--noconvert</code> - don't convert roms, useful if you just want to generate <code>ncchinfo.bin</code> * Fix converting decrypted roms with both Manual and Download Play child container. * Various other changes. '''v2.01''' * Fixes potential hanging trying to check if a command exists. * Fixes converting a .3ds to a .cia if the .cia already exists on Windows. '''v2.0''' * First Release. == License / Credits == * <code>3dsconv.py</code> and [https://github.com/ricmoo/pyaes pyaes] are under the MIT license. For versions older than "2.0", see this [https://gist.github.com/ihaveamac/dfc01fa09483c275f72ad69cd7e8080f Gist]. == External links == * GitHub - https://github.com/ihaveamac/3dsconv * GBAtemp - https://gbatemp.net/threads/3dsconv-py-script-to-easily-convert-3ds-roms-to-cia.428248/
Advertising: