/PlaiCDN

Nintendo 3DS CDN Script

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

You're on your own for the keys (but I've heard of this site that has a database of them...).

This script now pulls title metadata directly off the CDN by CLCert-A.

Requires makerom, ctr-common-1.crt (mirror), and ctr-common-1.key (mirror) to be in the directory


Usage: PlaiCDN <TitleID TitleKey> <Options> for content options
-redown : redownload content
-no3ds : don't build 3DS file
-nocia : don't build CIA file
-nobuild : don't build 3DS or CIA
-nohash : ignore hash checks
-nowait : no crypt message/waiting for input
-check : checks if title id matches key

Usage: PlaiCDN <TitleID> for general options
-info : to display detailed metadata
-seed : generates game-specific seeddb file when using -info

Usage: PlaiCDN <Options> for decTitleKeys.bin options
-deckey : print keys from decTitleKeys.bin
-checkbin : checks titlekeys from decTitleKeys.bin
-checkall : check all titlekeys when using -checkbin
-fast : skips name retrieval when using -checkbin, cannot be used with seed/seeddb
-seeddb : generates a single seeddb.bin


Examples (note this is not the correct key):

  • PlaiCDN.exe 000400000014F200 -info
    • this would pull a ton of title metadata off the CDN for "Animal Crossing: Happy Home Designer"
  • PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285
    • this would create a .CIA and .3DS file for "Animal Crossing: Happy Home Designer"
  • PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285 -check
    • this would check if the key (abb5c65ecaba9bcd29d1bfdf3f64c285) for "Animal Crossing: Happy Home Designer" is correct (it's not)
  • PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285 -redown -no3ds
    • this would create a .CIA file after redownloading previously downloaded encrypted files for "Animal Crossing: Happy Home Designer"
  • PlaiCDN.exe -checkbin
    • this would check all game keys in decTitleKeys.bin to see if they match their titles, in addition to outputting metadata on them pulled from the CDN

If you are using the script itself instead of the compiled .exe, you will also need Python 3 to be installed, and PyCrypto to be installed.

If pycrypto gives you issues installing, try using this.

The executable was created with the command pyinstaller --onefile PlaiCDN.py

This project is a replacement for CDNto3DS and includes expanded features and capabilities, including use on non windows platforms thanks to its reliance on PyCrypto instead of aescbc.


Example Output:

screenshot