[SWITCH] HacBrewPack V1.00 Released

The-4n developer has released a new update to hacBrewPack version 1.00.hacBrewPack is a tool to create NCA (Nintendo Content Archive) from homebrew and compress them in NSP (Nintendo Submission Package) .This method does not use files protected by copyright and is therefore perfectly “healthy”. It is in the early stages of development and some bugs are always present.



You must place the keyset file with the file name “keys.dat” in the same folder as hacBewPack 
. Alternatively, you can use the -ko -keyset option to load the keyset file. 
The mandatory keys are:

Key name Description
header_key NCA header key
key_area_key_application_xx Encryption keys of the application key area

Compilation of Homebrews

You need to compile homebrew with your makefile, you can use that in the model folder 
You must use TitleID in lowercase valid in Makefile and npdm.json. The valid TitleID interval is: 0x0100000000000000 – 0x01ffffffffffffff 
Both title IDs in Makefile and npdm.json must be the same 
compiled homebrews must have the following files:


You need to place the files “main” and “main.npdm” in the exefs folder, you can find them in build / exefs 
You need to rename the nacp file created in “control.nacp” and put it in the control folder


You need to place the icon with the filename “icon_ {Language} .dat” in the control folder, “icon_AmericanEnglish.dat” is the default if you do not manually edit your nacp. dat files are just renamed jpg files 
Check  switchbrew  for more information about language names 
The format of your icon file must be JPEG with 256 × 256 size 
We highly recommend deleting unnecessary EXIF ​​data from your jpeg file (mode simple: Open icon with GIMP or Paint, save as bmp, open it again and save as jpeg) 
If you see the placeholder instead of the icon after installing nsp, it’s probably due to exif data
If you have some exif data that os does not like (like Camera Brand), your app may leave in the state installation in qlaunch 
If you do not insert the icon in the control folder, after installing nsp you will see a general icon (I do not recommend it)


The “logo” folder must contain “NintendoLogo.png” and “StartupMovie.gif”, they will appear when the app is loaded 
Both files are not licensed on the basis of  switchbrew  but I have not included them anyway, you can also replace these files with custom ones 
You can use -nologist if you do not have a custom logo and you do not have the original ones, as the result switch will show a black screen without the Nintendo logo on the top left and it will change animation on the bottom right

CLI options:

*nix: ./hacbrewpack [options...]  
Windows: .\hacbrewpack.exe [options...]  
-k, --keyset             Set keyset filepath, default filepath is ./keys.dat  
-h, --help               Display usage  
--tempdir                Set temp directory filepath, default filepath is ./hacbrewpack_temp/  
--ncadir                 Set output nca directory path, default path is ./hacbrewpack_nca/  
--nspdir                 Set output nsp directory path, default path is ./hacbrewpack_nsp/  
--exefsdir               Set program exefs directory path, default path is ./exefs/  
--romfsdir               Set program romfs directory path, default path is ./romfs/  
--logodir                Set program logo directory path, default path is ./logo/  
--controldir             Set control romfs directory path, default path is ./control/  
--keygeneration          Set keygeneration for encrypting key area keys  
--noromfs                Skip creating program romfs section  
--nologo                 Skip creating program logo section  
--plaintext              Skip encrypting sections and set section header block crypto type to plaintext  

Also check the template folder for the default folder structure, makefile, npdm json and other useful information

Delete folders nca (hacbrewpack_nca) and temp (hacbrewpack_temp) before you start or you may have an nsp with error