[Release] D.T.K: TitleKey.bin viewer and CDN downloader

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by justync7, Apr 17, 2016.

  1. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    PSA: DTK is no longer in development and I would recommend using CDN-FX or Shameless instead.
    D.T.K. - D.T.K. Takes Keys
    TitleKey.bin viewer and CDN downloader

    Dependencies:
    Latest .NET Framework (Windows) or Mono (Linux)
    Python 2.7

    Image:
    Warning: Spoilers inside!
    Short YouTube video:
    Warning: Spoilers inside!
    Setup (Windows):
    1. Download release and extract it
    2. Run DTK.exe and wait for it to download the needed files (this can take a while)
    3. Close DTK
    4. Open config.xml in your favorite text editor
    5. Modify the config to your liking


    Setup (Linux):
    1. Download release and extract it
    2. Run "mono DTK.exe" in your terminal and wait for it to download the needed files (this can take a while)
    3. Close DTK
    4. Open config.xml in your favorite text editor
    5. Modify the config to your liking

    How to use "that key site":
    1. Open config.xml in your favorite text editor
    2. Replace the "undefined" on KeyDBUrl with the encTitleKeys download link from "that key site"
    3. Replace the "false" on AutoLoad with "true"
    4. Run DTK.exe and it will download the DB automatically

    How to download from the CDN using FunKeyCIA:
    1. Find the title you wish to download in DTK
    2. Highlight it and double click to open a command window for FunKeyCIA
    3. Your download will automatically begin

    Downloads:
    https://github.com/justync7/DTK/releases/

    Credits:

    • cearp - For FunKeyCIA
    • Ptrk25 - For the GroovyCIA/CDN-FX database
    Alternatives:
    • CDN-FX/GroovyCIA (For a more advanced and detailed viewer, but im a minimalist)
     
    Last edited by justync7, May 28, 2016


  2. BerserkLeon

    BerserkLeon Not-so-new member

    Member
    433
    62
    Mar 22, 2010
    United States
    Pennsylvania
    Why does it need to be an encTitleKeys.bin?
    If following the conversion process for the decrypted DB from that site, don't you end up with 2?
    and I don't think you can just concatenate the files together...
    So, I deleted them after using ptrk's tool to throw both bins keys into a text file... :\
     
  3. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    It has to be encrypted if you wish to download from the CDN. You can view decTitleKeys.bin files but CDN downloading will not work.
    You can concatenate the files aswell.
     
  4. BerserkLeon

    BerserkLeon Not-so-new member

    Member
    433
    62
    Mar 22, 2010
    United States
    Pennsylvania
    ah, ok. I just figured since the top of the file lists how many entries are in it, a glued tothether file from 2 separate ones would break formatting,
    But if it works, eh. I'll go reconvert.
     
  5. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    I just tested it and it does indeed work. Albeit, the title count didn't go up but I am fairly certain that is because the second file contained titles that aren't on 3dsdb or are already contained in the file.
     
  6. cearp

    cearp the ticket master

    Member
    7,521
    4,775
    May 26, 2008
    Tuvalu
    ouch you took python code and made it windows dependant? :D
    anyway, nice to add a gui! but i think GroovyCIA will add the title key function, in a while, in java.
    ooh, you don't need any key to download, the 3ds just needs the key to decrypt when installing :)
    good luck

    — Posts automatically merged - Please don't double post! —

    OP, that's a lot of keys you seem to have there. you must have a big collection that you want to backup!
    i only tested my tool with 1 key/1 game :D
     
    CuriousTommy and Xenon Hacks like this.
  7. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    Sadly yes it is windows dependent.
    I could recreate it in C++ or Java and make it work on other platforms, but I did this whole project in a day and a half while sick, so I am suprised it works at all!

    And yes I do have quite a bit of keys!
     
    cearp likes this.
  8. cearp

    cearp the ticket master

    Member
    7,521
    4,775
    May 26, 2008
    Tuvalu
    yeah making Funky/FunKeyCIA in c++ would have been the best but it would have taken my 2, 3, 4 times the work :)
     
  9. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,072
    3,385
    Nov 13, 2014
    United States
    File "FunKeyCIA.py", line 17
    print '*****\n!!!!!Warning - Only tested with Python 2.7!!!!!\n*****\n'
    ^
    SyntaxError: Missing parentheses in call to 'print'

    C:\Users\??????\Downloads\FunKeyCIA>

    I have python 2.7.11
     
  10. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    Its most likely because you also have another installation of python that is taking over the default "python" command. Try uninstalling any other python installations and make sure you only have 2.7 installed.
    This will be easier to fix in the next update as it will have a config so you can choose which python to use without having to uninstall others.
     
  11. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,072
    3,385
    Nov 13, 2014
    United States
    But I need 3.5 :(ok boss ill install 2.7 again after uninstalling 3.5
     
  12. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    Sorry :( I'll try to get this next update pushed out so you don't have to worry about having 3.5 installed
     
  13. liomajor

    liomajor GBAtemp Maniac

    Member
    1,463
    1,065
    Jun 10, 2008
    United States
    Nice work, could you add support for having FunKeyCia as exe file? (same arguments)

    There are two bugs, 1st search doesn't work properly, 2nd it doesn't display all titlekeys from encTitleKeys.bin.
     
  14. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    I'll have custom arguments from a config in the next update allowing you to use FunKeyCIA as an exe, or using a different python than default.

    Search is being worked on, but it's hard due to the way .NET ListViews are.

    If it doesn't show all the titlekeys, thats because 3dsdb has no info on that title.
     
  15. liomajor

    liomajor GBAtemp Maniac

    Member
    1,463
    1,065
    Jun 10, 2008
    United States
    Thx ^^

    Btw, 3dsdb only got a very small part of what is available, i'm missing about 400 Titles ^^'''
     
    Xenon Hacks likes this.
  16. pbanj

    pbanj The "friendly" neighborhood sandwich

    Member
    2,731
    1,418
    Dec 29, 2014
    United States
    in a ziploc
    Ya that site is fairly useless. Never has what ur looking for. Maybe the xml file from groovy CIA would work better as there is a ton in it iirc
     
    justync7 likes this.
  17. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    I'll make it check both in the next update.
     
    Xenon Hacks and pbanj like this.
  18. pbanj

    pbanj The "friendly" neighborhood sandwich

    Member
    2,731
    1,418
    Dec 29, 2014
    United States
    in a ziploc
    Sounds good
     
  19. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,072
    3,385
    Nov 13, 2014
    United States
    @justync7 What specific version of python do I need of 2.7?
     
  20. justync7
    OP

    justync7 GBAtemp Regular

    Member
    203
    162
    Mar 23, 2013
    United States
    Standard 2.7 should work.