[Release] HACToolGUI - A very simple GUI for HACTool

Updated to Version 0.3a - urgent bug fix because I accidentally completely broke the program.

New:
Official Discord support server!
Source code now available!



Well, in honour of Master_Key_01 and Master_Key_02's release, I present to you...
HACToolGUI!

m0GW3mg.png


It does everything you need to extract XCI, NCA and RomFS files, support for other formats coming soon.

:switch: Features:
Simple to use and easy to understand GUI
Built-in keylist manager (Bring your own keys)
Uses HACTool to extract XCI, NCA and RomFS files
Supports all keys
Choose to dump as plaintext NCA, RomFS or to extract the files to a folder
Tiny filesize; around 120KB decompressed
Portable, no installation required

:switch: Dependencies:
Requires the latest release of hactool.exe and all its .dll files in the same directory.
Get it from here.

SI3CDlT.png

XWmJZx6.png

rjxr1FA.png
Complete v0.3 change list:

  • Added PFS0 support! (Used in .nsp)
  • Automatically fills in the textboxes with keydata from keys.dat when key manager is opened. (Also added a manual option)
  • Drag-and-drop file support added for all extraction types
  • Key manager button added to main screen
  • Internet access no longer required for use; now you can check for updates by clicking the option
  • Remembers last selected NCA extraction option
  • Remembers previous directory used
  • NCA extraction is disabled unless keys are filled and a key file is present
  • Checks for incorrectly formatted keys.dat
  • Quotes no longer required in directory names


Coming soon:
  • Name change
  • The hactool files will not be required, the code will be built into the program
  • Key verification
  • Key derivation, the usual stuff, but will also generate the master_key, package1_key and various others from a supplied keyblob, provided you have the wrapper key for the specific keyblob and the console-unique SBK and TSEC keys
  • Bulk file extraction
  • Support for all other hactool formats, including Rights ID-encrypted NCAs and SD card files
  • Built-in CDN downloader, provide a private key and cert, then add the Title ID, it will get the latest version of the meta file, decrypt the NCA, read the cnmt, get the NCAID of each file and download the NCA of them from the Atum server (provided you have the keys)
  • Various file type extractors (BFSAR, BFRES, BFGRP, SARC, SZS, Yaz0, etc.)
  • Background music (optional)
  • Themes (optional)
  • More easter eggs
 

Attachments

Last edited by SimonMKWii,
I'd like to make one suggestion. When output folder is blank, have it refuse to try to extract files. I spent an hour having it extract nothing when it was blank. Nonetheless, I extracted the music files from Xenoblade Chronicles 2 and converted them to mp3 format with ease using Foobar2000! Thanks for this wonderful frontend.
Whoops! That's a really stupid mistake on my part...
I managed to add error handlers to pretty much everything but that...
 
And that's understandable, you saw a problem, and wanted to create a solution, nothing wrong with that... just gotta be careful with respecting the developers wishes when it comes publishing/releasing it.
But it's open source..? I don't understand.
 
But it's open source..? I don't understand.

Just because an application is open source doesn't mean you can do anything you want with it... excerpt from Wikipedia below

> An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions

In this case, it may have been handled better if the included LICENSE file had a section that lays out that he didn't want a GUI created for the tool.
 
There is one Yakara Colombia who modifies his tools to add his signature and distribute it in his Channel. He did it on the 3DS, I do not doubt he does it with the Switch.

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

No, I don't care about that shit.

GUIs are highly accessible to tech illiterate people -- inevitably when I update hactool with new stuff or if I ever break compatibility with argument names (as I've done a few times) this GUI will cause tech illiterate people to bug me for help.

Hence why this GUI's existence is unfortunate.

(It's my opinion, frankly, that if you're technically literate enough to muck around with game's internals, you should be technically literate enough to use a command line.)


I would never bother a developer, I only quote for any doubt. I'm in 4.1.0 and I do not know how PegaSwitch works. I admit that I am a user who has enjoyed the GUI, and had no idea of the enormous work they do behind all these tools until recently. And it is that the work was not of those that create interface, but of those that find vulnerabilities. For that reason if I see something published in 4.1.0 I will try it, regardless of whether it has an interface, and know which is the most reliable source, it is the GameShark boy.
 
  • Like
Reactions: Hardy_Heron
While it may not be a huge update content-wise, it is the longest I have ever spent developing a version!
Oh, by the way, there are 2 easter eggs hidden in version 0.2b, can you find them? (without looking into the source code...)

Hint for easter egg 1: #Fuc
Hint for easter egg 2: While you look for easter eggs, so does the program.
 
I am trying to use your program, but a cmd windows shows 'Access Denied' no matter if i choose to extract romfs or anything else.

How to solve that?
 
Try running the application as an administrator.

My user is admin by default.

I discovered that was a random error which rarely occurs in my windows.

I just turned my pc off. Waited about 12 seconds, turned on and everything is fine again. lol
 
how do I save the keys for extraction ?

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

the keys I input never save and won't let me decrypt
 

Site & Scene News

Popular threads in this forum