ROM Hack Release: GenTickets

Would you like TitleID to be included in the file name?


  • Total voters
    23

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
You may have already seen the debut of GenTickets in the FunKeyCIA thread here. However I'm making a thread for it to keep track of updates, requests, and visibility.

Release: GenTickets v2.1.2
A script to download ticket files given a TitleID and Encrypted TitleKey OR using your encTitleKeys.bin file and name them by Title Name, region, and TitleID with region filtering. Saves detailed results to a CSV file for importing into Excel or Google Documents (does not work well importing into Numbers). Each run adds to the CSV file if it exists.

Install these tickets with FBI v2 and then download the titles from the eShop.

Requires:
  • Python3, PyCrypto
  • ctr-common-1.crt and ctr-common-1.key (Found on PlaiCDN github)
  • encTitleKeys.bin for BIN processing
  • decTitleKeys.bin for validation (can be skipped)

Usage:
Code:
python3 gentickets.py <REG> <[TitleID EncryptedTitleKey] OR [-bin] OR [-skipcheck]>
REG is the region you'd like to filter. Ex. USA, EUR, JPN, TWN, KOR, etc. Use ANY to make tickets for all regions. (Region free is always included)
You may use a TitleID and Encrypted TitleKey pair or you may use one of the BIN options.
If you have an encTitleKeys.bin that you know contains only valid keys, you may use the -skipcheck option instead of -bin to save time.

  • GenTickets v2.1.2
    • Due to poll results, have added TitleID to end of ticket name as well.
  • GenTickets v2.1.1
    • Removed leading space before file name.
    • Removed quotes in Title Names for Windows compatibility.
  • GenTickets v2.1.0
    • New Feature: Script now parses the titles.csv file if it exists in order to skip titles that have already been processed.
    • Bug fixes for when encTitleKeys.bin is missing titles compared to decTitleKeys.bin
    • Further clarification of what's happening in the script.
  • GenTickets v2.0.3
    • Filtered additional characters that may cause issues in unreleased titles.
    • Clarified results.
  • GenTickets v2.0.2
    • Added additional checks and filtered additional characters that would cause issues.
  • GenTickets v2.0.1
    • Added checks for missing requirements.
  • GenTickets v2.0 by @AnalogMan
    • Creates tickets from TitleID/TitleKey Pair or encTitleKeys.bin.
    • Pulls metadata and names tickets appropriately as "Title Name (REG).tik"
    • Outputs detailed results to CSV file for importing into Excel or Google Spreadsheets
  • GenTickets v1.0 by @mid-kid
    • Created tickets from encTitleKeys.bin

Script attached to post.
 

Attachments

  • gentickets.py.zip
    7.2 KB · Views: 462
Last edited by DocKlokMan,

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
30
XP
4,687
Country
United States
This is technically faster than using FunKeyCIA now we wait for FunKeyCIA to turn into its own eShop app with a full eShop like GUI
 
  • Like
Reactions: Hoppy

Hking0036

Well-Known Member
Member
Joined
Sep 15, 2015
Messages
498
Trophies
0
XP
1,358
Country
United States
I just tested it and that's the error you get running it with Python 2. Make sure you're actually typing "python3 gentickets.py" to use Python 3
I have python 2 and 3.5 installed, working fine. I'll be interested to see this work out.

I have to ask though, why can't Nintendo ban people off their ticket.db?
It seems like a new public headers issue like for .3ds files, with a bunch of ticket.dbs having the same title keys.
 

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
I have python 2 and 3.5 installed, working fine. I'll be interested to see this work out.

I have to ask though, why can't Nintendo ban people off their ticket.db?
It seems like a new public headers issue like for .3ds files, with a bunch of ticket.dbs having the same title keys.
Each unique title use the same TitleKey, that is how Nintendo made their eShop. If you purchased a title on two 3DS's they'd have the same TitleKey.

However they could easily ban us for having fake TitleID's from our Homebrew since day one of the 3DS's being able to install CIA homebrew but they haven't.
 
  • Like
Reactions: Hking0036

Hking0036

Well-Known Member
Member
Joined
Sep 15, 2015
Messages
498
Trophies
0
XP
1,358
Country
United States
Crashed:
5vCnYZ4.png


Stumped on how to install PyCrypto on Python 3.5 32 bit. Can't find any binaries.
You can google up binaries for python up to 3.3, but I managed to find a build for 3.5 here: https://github.com/sfbahr/PyCrypto-Wheels
 
Last edited by Hking0036,

uherrera

Member
Newcomer
Joined
Nov 19, 2008
Messages
20
Trophies
0
XP
168
Country
United States
The download process is relatively slow when processing the entire encTitleKeys from that one key site.

Is it possible to add a feature to only download new tickets when running it a second time?
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,509
Country
Tuvalu
This is technically faster than using FunKeyCIA now we wait for FunKeyCIA to turn into its own eShop app with a full eShop like GUI
FunKeyCIA does what this does, apart from sorting the tickets (and checking the keys)
i wouldn't say it is faster or slower, maybe FunKeyCIA is simpler because you can give -nfskeyfile and it will fetch the encrypted key file for you from online... :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: