Hacking [Release] PlaiCDN: Download and create installable CIAs (or .3ds) with just a title ID and titlekey

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
Do you know what bothers me the most? You didn't even bother to submit a pull request after releasing. This is NOT how you do open source (which again, my code isn't). This is how open source dies when there are a hundred billion forks of the exact same project with updates!
Your repo hasn't been updated in 6 months, and the very top of the script that was modified says "#This script is old and shitty".
Maybe if you thought more of your code and didn't label it shitty, people would consider it worth submitting a PR to? :)
 

Relys

^(Software | Hardware) Exploit? Development.$
Member
Joined
Jan 5, 2007
Messages
878
Trophies
1
XP
1,239
Country
United States
Your repo hasn't been updated in 6 months, and the very top of the script that was modified says "#This script is old and shitty".
Maybe if you thought more of your code and didn't label it shitty, people would consider it worth submitting a PR to? :)

Duly noted, but that does line not relinquish the license. :)
 

pikatsu

Well-Known Member
Member
Joined
Apr 16, 2014
Messages
845
Trophies
0
Age
39
XP
1,163
Country
Argentina
This can download system titles as game titles too. Does this give something new compare to the previous tools?
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
i noticed the python script supports 'osx' - it checks the platform for darwin, but surely it's a better idea to check for windows, and if it's a yes, use '.exe' and if no, then use the executable name, then you don't need separate checks for linux/mac, since their command line systems work the same way for this thing
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
i noticed the python script supports 'osx' - it checks the platform for darwin, but surely it's a better idea to check for windows, and if it's a yes, use '.exe' and if no, then use the executable name, then you don't need separate checks for linux/mac, since their command line systems work the same way for this thing
The do not actually, that's the reason for OS X code. When the script calls makerom, with windows or linux, just "makerom" is okay but on OS X it throws a 'command not found' since to run binaries on OS X terminal you need to preface it with "./"

So in this case linux/windows work the same way as Windows will assume the .exe while Mac OS X is the odd one out.
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
Temps, this is not a thread to discuss how @Relys and @Plailect think Github should work. They can deal with each other in private and come to an understanding.

The only thing that matters here at GBATemp is we have two scripts, both useful, but this one has a lot more features and it's more cross-platform so until they settle it and decide to either keep the scripts separate or pull them together into one script, I think we should keep this discussion to helping people use the script and talking about the possibilities.
 

wormdood

pirate booty inspector
Member
Joined
Jan 3, 2014
Messages
5,256
Trophies
2
Age
38
Location
behind a parental advisory sticker
XP
4,190
Country
United States
Temps, this is not a thread to discuss how @Relys and @Plailect think Github should work. They can deal with each other in private and come to an understanding.

The only thing that matters here at GBATemp is we have two scripts, both useful, but this one has a lot more features and it's more cross-platform so until they settle it and decide to either keep the scripts separate or pull them together into one script, I think we should keep this discussion to helping people use the script and talking about the possibilities.
as a dirty entitled pirate i could not agree more i dont care who made this (shit its not like im gonna pay them) but more importantly (as a noob) i cant figure out what exactly this is used for . . . from what my tiny noob brain gathers it uses nintendo servers to create and download a .cia of any game (on there servers of course) . . . am i correct?
 

kidcharlemagne

Well-Known Member
Newcomer
Joined
Sep 8, 2015
Messages
70
Trophies
0
XP
1,645
Country
Taiwan
as a dirty entitled pirate i could not agree more i dont care who made this (shit its not like im gonna pay them) but more importantly (as a noob) i cant figure out what exactly this is used for . . . from what my tiny noob brain gathers it uses nintendo servers to create and download a .cia of any game (on there servers of course) . . . am i correct?

If you want any game that's available in the eShop, get the title ID (ie, from 3dsdb) along with the title key (from ???), and PlaiCDN will download and decrypt it for you, so you can then play it on your 3DS. If you have already legally purchased a game, you can extract the title key from it, then you can use that key to retrieve that game any time in the future, even if you lose your 3DS or set up a new NNID. If you share that key with others, they will also be able to download and decrypt that game.
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
The do not actually, that's the reason for OS X code. When the script calls makerom, with windows or linux, just "makerom" is okay but on OS X it throws a 'command not found' since to run binaries on OS X terminal you need to preface it with "./"

So in this case linux/windows work the same way as Windows will assume the .exe while Mac OS X is the odd one out.
linux executables don't end in .exe...
- i think i understand your point
 
Last edited by cearp,

Plailect

Well-Known Member
OP
Member
Joined
Jan 30, 2016
Messages
546
Trophies
1
XP
1,502
Country
United States
"According to git" is not a license and is a completely bullshit point (said every Software Engineer ever). I could send you a DMCA take down notice if you want to be technical as I never attributed a license (I should probably GPL it eventually). Removing a dependency is not a "major change" and would have been a perfectly acceptable pull request. Also, slapping your name on a forked project (or any project really *looks at countless other unoriginal CFW projects*) is just greasy. Do you see me slapping my name on any tools I release? No, because I shouldn't have to! People should know it's your project because you wrote it, not because you forked another project and put your name on it *looks at countless other unoriginal CFW projects again*. You know what SALTs project is called? firmloader because it describes the exact functionality of the program. *sigh* I guess we will always have the problem of some kid forking bitcoin to create his own altcoin or linux to create his own distro with his name on it, but that is fucking lame (also those projects are under a copyleft license unlike mine).

Do you know what bothers me the most? You didn't even bother to submit a pull request after releasing. This is NOT how you do open source (which again, my code isn't). This is how open source dies when there are a hundred billion forks of the exact same project with updates!

Is it open source or isn't it?

You seem to be wanting the advantages of both by threatening me with DMCA takedowns and asking for me to pull request my work to your repo at the same time.

That is how open source dies, not with forks, but with copyright.

Another thing, GitHub defines forking with 'At some point you may find yourself wanting to contribute to someone else's project, or would like to use someone's project as the starting point for your own.'

Note the second point. This is going to be a separate project from your original script, with different goals and feature creep. If you want, I can pull main functionality (PyCrypto etc) back to your repo, but also know that I'm planning major rewrites that will change most of your original code.
 

hab

Well-Known Member
Member
Joined
Apr 23, 2005
Messages
146
Trophies
0
XP
363
Country
United States
Hi can some post a step by step on how to use this?
Maybe even a video of how to use?
Thanks
 

tekwarfare

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
119
Trophies
0
Age
32
XP
208
Country
Note: I'm using Windows 8.1 64-bit and a N3DS with A9LH AuReiNAND for this little guide

Download PlaiCDN and extract to desktop : https://github.com/Plailect/PlaiCDN
Download and install Python 2.7.11 as default: https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi
Download and copy ctrtool.exe and makerom.exe to PlaiCDN's directory: https://github.com/profi200/Project_CTR/releases/download/0.15/makerom_015_ctrtool.zip
Download and Install pyocrypto: http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe

Run Decrypt9WIP on your 3DS
Titlekey Decrypt Options
Titlekey Decrypt (SysNAND) (I'm not sure if you need to use "EmuNAND" if you're not using A9LH)
When asked, choose "decTitleKeys.bin" as the name
Copy the file "decTitleKeys.bin" from your SD root to the PlaiCDN-master folder

Run Command Prompt
Type: "cd desktop" hit enter
Type: "cd PlaiCDN-master" hit enter
Type: "PlaiCDN.py -checkbin" hit enter
This will list all legit game titles and their titlekey in the format: 00040000000xxxxx: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Go to http://www.3dsdb.com/ and search using the 00040000000xxxxx string; this will tell you the corresponding game
To download the title type: "PlaiCDN.py 00040000000xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -redown"
The long process of downloading the title will begin (connection speed seems limited to 1.9Mbps [0.2MB/s])
You will receive on screen instructions to decrypt the files it has downloaded on your 3DS
You are also instructed to paste these over the original .dec files it created
It will then build a .3ds and .cia file of the game (the -no3ds flag and -nocia flag would kick in at this point if you used them, but building both files took mere seconds)

It was a novel experiment I didn't expect to get working, but it works as advertised. The download process is the lengthiest, followed by the decrypt process; I would say it was a 2-3 hour process for Pokemon X (~1.7GB). I've installed it and it does include the latest 1.5 update.

Unless I'm missing something, I don't see the benefit over someone pirating a CIA for example, please enlighten me.
 
Last edited by tekwarfare,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/WOppJ92RgGU?si=KE79L6A_3jESsGQM