Homebrew Official [Download] Decrypt9 - Open Source Decryption Tools (WIP)

  • Thread starter Thread starter d0k3
  • Start date Start date
  • Views Views 935,162
  • Replies Replies 4,476
  • Likes Likes 71
One title ID, multiple keys - strange! And this also sounds like the duplicate checking in the NAND titlekey decryptor doesn't work properly (or does it?). Still wondering about that missing key!
That IS the missing key, the dupe shows up if I go the old tickets.db->dumpTicketKeys.py->encTitleKeys.bin->decrypt9->decTitleKeys.bin->printKeys.py route, so it looks like the dupe checker works as advertised.
I'm still not convinced that there should be dupe keys with different values, and maybe this has nothing to do with the Manual issues on new eShops.

My next plan is to start with a fresh emuNAND and track down exactly when the dupe keys show. (now that it's a one-file rebuild on my entire SDCard, thanks to ZIP3DSFX) :)
 
Last edited by Datalogger,
  • Like
Reactions: Jow Banks and d0k3
@dark_samus3 and everyone else interested in this, I've completely rewritten ZIP3DSFX. The new readme (which is displayed right there on GitHub) really contains everything there is to know, so I won't go overboard detailing this here. The most important change is that you can now create new self extracting archives simply by copying the SFX stub together with any ZIP file - given you built ZIP3DSFX via 'make sfx_stub'.
ZIP3DSFX v0.5 by d0k3
ZIP3DSFX is a barebones ZIP-based SFX extractor for the 3DS console. It has two main build modes plus multiple configuration options.

SFX Hard Mode: This mode hardcodes the archive.zip into the ZIP3DSFX.3dsx executable. To use this, rename your ZIP archive to 'archive.zip', put it into the data directory and compile with 'make sfx_hard' or just 'make'.
  • This will use the smallest amount of memory and will work anywhere.
  • The archives content can not be changed without compiling anew.

SFX Stub Mode: This mode creates a SFX stub, the actual archive.zip has to be attached to the end of the ZIP3DSFX.3dsx. Compile this with 'make sfx_stub'. Files are attached (on Windows) via 'copy /b ZIP3DSFX.3dsx + archive.zip myZIP3DSFX.3dsx'.
  • You can simply copy any ZIP archive to the end of the 3DSX to create a new SFX archive.
  • The resulting .3DSX can (in standard ZIP mode) still be opened in any archiver program on any platform.
  • This uses more memory and will not properly work with some loading methods.

If you want to customize the SMDH file, edit AppInfo and icon.png in the resources dir. If you want to further customize ZIP3DSFX overwrite behaviour (among other settings) edit config.h inside the include directory. This is untested with large files and archives. Use at your own risk!

Contains the MiniZ library, which was written by Rich Geldreich: https://code.google.com/p/miniz/

Now, I guess this could use a GUI :). A GUI should also take advantage of the various config.h customizations (meaning it would have to contain several prebuilt SFX stubs), but there are really only 4 combinations that make sense (OVERWRITE_ALWAYS + FORCE_ROOT, OVERWRITE_NEVER + FORCE_ROOT, FORCE_ROOT, NO_CREATE_DIRS + FORCE_ROOT). Otherwise it should be pretty simple (apart from the design work), because all you have to do is select the correct SFX stub and 'copy /b sfxstub.3dsx + archive.zip result.3dsx'. You could go overboard and include your own ZIP archiver, of course.

Anyone interested in doing this? @Shadowtrance maybe? You'd also have the honor of opening up a proper thread for this (I only want to be mentioned for ZIP3DSFX coding).

EDIT: Also, before I forget it, this needs testing! Mainly for sfx_stub mode compatibility and the onscreen output though, cause I'm pretty sure extraction works as advertised.
 
Last edited by d0k3,
  • Like
Reactions: dark_samus3
@dark_samus3 and everyone else interested in this, I've completely rewritten ZIP3DSFX. The new readme (which is displayed right there on GitHub) really contains everything there is to know, so I won't go overboard detailing this here. The most important change is that you can now create new self extracting archives simply by copying the SFX stub together with any ZIP file - given you built ZIP3DSFX via 'make sfx_stub'.
ZIP3DSFX v0.5 by d0k3
ZIP3DSFX is a barebones ZIP-based SFX extractor for the 3DS console. It has two main build modes plus multiple configuration options.

SFX Hard Mode: This mode hardcodes the archive.zip into the ZIP3DSFX.3dsx executable. To use this, rename your ZIP archive to 'archive.zip', put it into the data directory and compile with 'make sfx_hard' or just 'make'.
  • This will use the smallest amount of memory and will work anywhere.
  • The archives content can not be changed without compiling anew.

SFX Stub Mode: This mode creates a SFX stub, the actual archive.zip has to be attached to the end of the ZIP3DSFX.3dsx. Compile this with 'make sfx_stub'. Files are attached (on Windows) via 'copy /b ZIP3DSFX.3dsx + archive.zip myZIP3DSFX.3dsx'.
  • You can simply copy any ZIP archive to the end of the 3DSX to create a new SFX archive.
  • The resulting .3DSX can (in standard ZIP mode) still be opened in any archiver program on any platform.
  • This uses more memory and will not properly work with some loading methods.

If you want to customize the SMDH file, edit AppInfo and icon.png in the resources dir. If you want to further customize ZIP3DSFX overwrite behaviour (among other settings) edit config.h inside the include directory. This is untested with large files and archives. Use at your own risk!

Contains the MiniZ library, which was written by Rich Geldreich: https://code.google.com/p/miniz/

Now, I guess this could use a GUI :). A GUI should also take advantage of the various config.h customizations (meaning it would have to contain several prebuilt SFX stubs), but there are really only 4 combinations that make sense (OVERWRITE_ALWAYS + FORCE_ROOT, OVERWRITE_NEVER + FORCE_ROOT, FORCE_ROOT, NO_CREATE_DIRS + FORCE_ROOT). Otherwise it should be pretty simple (apart from the design work), because all you have to do is select the correct SFX stub and 'copy /b sfxstub.3dsx + archive.zip result.3dsx'. You could go overboard and include your own ZIP archiver, of course.

Anyone interested in doing this? @Shadowtrance maybe? You'd also have the honor of opening up a proper thread for this (I only want to be mentioned for ZIP3DSFX coding).

EDIT: Also, before I forget it, this needs testing! Mainly for sfx_stub mode compatibility and the onscreen output though, cause I'm pretty sure extraction works as advertised.

I haven't looked at ZIP3DSFX yet, but i will probably mess with it at some point.
In other news i did a thing! haha Just thought I'd share. :) https://github.com/Shadowtrance/ImgConv
 
  • Like
Reactions: d0k3
I haven't looked at ZIP3DSFX yet, but i will probably mess with it at some point.
In other news i did a thing! haha Just thought I'd share. :) https://github.com/Shadowtrance/ImgConv

Looks neat (even though it isn't Linux compatible (if you can't tell I hate windows)) I'm thinking about tackling the UI for ZIP3DSFX though my main stopping point (and I doubt it's too hard) is mainly drawing to the screen, mostly I don't have a whole lot of coding experience (though I can read most code pretty well) I'll be starting my coding class next semester. So maybe you and I can tackle this one together? If you wanted that is... I'd love to get some experience under my belt with someone to bounce ideas and questions off of and ofc I'll help with ImageMagick haha... Anyways lmk
 
Looks neat (even though it isn't Linux compatible (if you can't tell I hate windows)) I'm thinking about tackling the UI for ZIP3DSFX though my main stopping point (and I doubt it's too hard) is mainly drawing to the screen, mostly I don't have a whole lot of coding experience (though I can read most code pretty well) I'll be starting my coding class next semester. So maybe you and I can tackle this one together? If you wanted that is... I'd love to get some experience under my belt with someone to bounce ideas and questions off of and ofc I'll help with ImageMagick haha... Anyways lmk
I'm pretty much in the same boat, just learning as i go messing around with C#, as for making it linux compatible, how would i go about that? What needs to be changed for it to work on both linux and windows? Screw mac. haha
This is just winforms so I've no idea how to make it cross compatible to be honest.
But 2 noobs working together sounds good! What could possibly go wrong? haha
 
I'm pretty much in the same boat, just learning as i go messing around with C#, as for making it linux compatible, how would i go about that? What needs to be changed for it to work on both linux and windows? Screw mac. haha
This is just winforms so I've no idea how to make it cross compatible to be honest.
But 2 noobs working together sounds good! What could possibly go wrong? haha
XD two noobs are better than one... Linux is.... Very hard to make a UI for, mostly because there isn't one type of windowing program, and to make it compatible with all of them you have to include lots of cumbersome code or just code different UIs for each type of windowing... I (and a lot of people) generally use GTK Desktop Environments though QT is pretty easy to make work properly on most (but you have to include the libraries with the binary)... However if you're as much of a Linux head as I am you really don't need GUIs for most things... Honestly I use my terminal for file management because it can be more convenient (instead of clicking into a bunch of folders you just type the path, and if you have everything properly organized then that's usually pretty easy, copying and pasting (yes you can copy and paste files with terminal on Linux) is easier, for example I wanted all of the music out of a folder but it was mixed with other files and also mixed in with sound effects, however the files that were actual music had mus at the beginning of all of them so, cp mus_* ~/music (~/ is the current user's home directory) and bam all of the music was separated properly :) anyways sorry for my rant haha... Also btw if you use QT it'll be Mac (and windows) compatible too :)
 
Last edited by dark_samus3,
Yeah but QT is C++ isn't it? Which i have no idea about either QT or C++ to be honest.
And yes two noobs is always better than one! haha :P

I think there is ways to make winforms (.net) linux compatible as well, I'll have to look into it.

--------------------- MERGED ---------------------------

hmm... http://www.mono-project.com/docs/gui/winforms/porting-winforms-applications/
 
  • Like
Reactions: dark_samus3
Yeah but QT is C++ isn't it? Which i have no idea about either QT or C++ to be honest.
And yes two noobs is always better than one! haha :P

I think there is ways to make winforms (.net) linux compatible as well, I'll have to look into it.

--------------------- MERGED ---------------------------

hmm... http://www.mono-project.com/docs/gui/winforms/porting-winforms-applications/

Check this out, even has some of my favorite DE (GNOME) in there :)

http://www.mono-project.com/docs/gui/gtksharp/
 
are you frustrated with it yet haha
Yes! Downloaded the installer ( 120mb), installed it and no idea where to go from here.
I don't see a way to use it in visual studio (doing a normal winforms template (doesn't seem to be a GTK# template) and adding using GTK; makes it bitch about a bunch of shit)...
So yes, a little frustrated. haha
 
Yes! Downloaded the installer ( 120mb), installed it and no idea where to go from here.
I don't see a way to use it in visual studio (doing a normal winforms template (doesn't seem to be a GTK# template) and adding using GTK; makes it bitch about a bunch of shit)...
So yes, a little frustrated. haha
Yeah, I've seen nothing but complaints about GTK in any form... I'll see if I can find something more on how to use it, from what I saw on the page though it was supposed to be it's own editor or something...
 
Yeah, I've seen nothing but complaints about GTK in any form... I'll see if I can find something more on how to use it, from what I saw on the page though it was supposed to be it's own editor or something...
Yeah it even says here http://www.mono-project.com/docs/faq/gtk/ that there's templates installed for VB.net and C# which is bullshit because they ain't anywhere on my computer lol
 
BTW

Seems there's a special option for .NET or something
Yeah installed everything i could see on their download page (2 downloads).
Using monodevelop (Xamarin Studio) atm and got an example running. :)

No idea where all the drag n drop stuff is like buttons, labels etc though...

Would be nice to get it to work in Visual Studio though, really not a fan of the MonoDevelop IDE tbh...
 
yeah, again anything GTK related I've seen complaints about... haha If you don't want to do it then don't, but hey it's nice to have if you feel like it :)
Yeah i just wanted to mess with it to see what it was like. And yeah atm it's a mega pain in the ass lol
Might still see if i can get it to work with visual studio, might be a different experience. I doubt it though. haha

--------------------- MERGED ---------------------------

Well looks like gtk projects created in monodevelop open in VS fine but sadly no form editor thingy. :( grr
 
But 2 noobs working together sounds good! What could possibly go wrong? haha
Aw, come on, I wouldn't exactly call any of you two a noob :). I myself have done Windows GUIs (some basic stuff in Visual Studio/C# and Eclipse/Java) aeons ago, but I somehow forgot most of it, and I'm more interested in pure coding anyways (my only IDE is Notepad++ with NPPExec configured for convenient compiling with GCC, to give you a picture). This in turn leads to many true noobs thinking my stuff is too technical or not userfriendly enough, oh well... :)

For ImageConv, could you provide a compiled executable (as you see, not everyone has VS ;)). Doesn't have to be now, just when you think it is ready!

As for the Linux GUI stuff, I can't really add anything useful to that obviously. Just throwing that in, but doesn't basically any Linux distro nowadays contain a basic installation of Wine? And, if not, maybe the Wine project provides libraries for easy porting (at least of Windows GUIs)?

And ZIP3DSFX... well, I tested it yesterday as self installing boot.3dsx replacement and it turns out that (1) boot.3dsx is one of the cases where the SFX (in stub mode) can't find out it's own name (I have a workaround for that, but it's ugly) and (2) if ran as boot.3dsx I need to take care to properly initialize all the required services (which I haven't done so far). Fix(es) coming up, just in case you wonder.
 

Site & Scene News

Popular threads in this forum