More actions
No edit summary |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title= | |title=hacbuild | ||
|image=hacbuildnx.png | |image=hacbuildnx.png | ||
|description=Build Nintendo Switch XCI and HFS0 files. | |description=Build Nintendo Switch XCI and HFS0 files. | ||
|author=LucaCorigliano, | |author=LucaCorigliano, JulesOnTheRoad | ||
|lastupdated=2018/ | |lastupdated=2018/11/04 | ||
|type=PC Utilities | |type=PC Utilities | ||
|version=1.1 | |version=1.1 | ||
Line 13: | Line 13: | ||
|donation= | |donation= | ||
}} | }} | ||
hacbuild is a utility to rebuild Switch GameCards (XCI) made by LucaFraga. | |||
Original version can be found [https://github.com/LucaFraga/hacbuild here]. | Original version can be found [https://github.com/LucaFraga/hacbuild here]. | ||
This is the revised version made by | This is the revised version made by JulesOnTheRoad. | ||
==Features== | ==Features== | ||
Line 26: | Line 26: | ||
==User guide== | ==User guide== | ||
xci auto builder: Builds a XCI from a directory containing the folders 'normal', 'secure' and 'update' and a 'game_info.ini' file. <br> | |||
<code>hacbuild.exe xci_auto <input_folder> <output_file></code> | |||
xci auto builder with file deletion while building: Same but with input folders and temporal file deletion while building. <br> | |||
<code>hacbuild.exe xci_auto_del <input_folder> <output_file></code> | |||
Manual builder for xci from root.hfs0: Builds a XCI from a directory containing 'root.hfs' and 'game_info.ini'. <br> | |||
<code>hacbuild.exe xci <input_folder> <output_file></code> | |||
root.hfs0 auto builder: Builds a root.hfs0 from a directory containing the folders 'normal', 'secure' and 'update'. <br> | |||
<code>hacbuild.exe rhfs0_auto <input_folder></code> | |||
root.hfs0 auto builder with file deletion while building: Same but with input folders and temporal file deletion while building. <br> | |||
<code>hacbuild.exe rhfs0_auto_del <input_folder></code> | |||
Manual builder for hfs0 (normal/secure/update): Builds a hfs0 partition. <br> | |||
<code>hacbuild.exe hfs0 <input_folder> <output_file></code> | |||
Manual builder for root.hfs0: Builds a hfs0 partition, currently it needs a multiplier, needs work to read the multiplier from input hfs0 files. <br> | |||
<code>hacbuild.exe root_hfs0 <input_folder> <output_file> <multiplier></code> | |||
Get 'game_info' file named as file input name: Get game_info file named as the input xci in the folder you set. <br> | |||
<code>hacbuild.exe read xci <input_file> <output_folder></code> | |||
Get 'game_info' file named as gameinfo.ini: Get game_info file named as gameinfo.ini in the folder you set. <br> | |||
<code>hacbuild.exe read xci <input_file> <output_folder></code> | |||
===Limitations=== | ===Limitations=== | ||
Line 58: | Line 75: | ||
* Removed all possibilities of UInt32 overflow. | * Removed all possibilities of UInt32 overflow. | ||
==Credits== | |||
Credits and useful links: | |||
*[https://github.com/LucaFraga/hacbuild Original hacbuild] by LucaFraga hacbuild was inspired by: | *[https://github.com/LucaFraga/hacbuild Original hacbuild] by LucaFraga hacbuild was inspired by: | ||
*[https://github.com/SciresM/hactool hactool] by SciresM. | *[https://github.com/SciresM/hactool hactool] by SciresM. | ||
Line 67: | Line 84: | ||
* GitHub - https://github.com/julesontheroad/hacbuild | * GitHub - https://github.com/julesontheroad/hacbuild | ||
* GitHub - https://github.com/LucaCorigliano/hacbuild | * GitHub - https://github.com/LucaCorigliano/hacbuild | ||
* | * GBAtemp - https://gbatemp.net/threads/hacbuild-the-xci-rebuilder.509412/post-8256146 |
Latest revision as of 01:12, 7 Haziran 2023
hacbuild | |
---|---|
General | |
Author | LucaCorigliano, JulesOnTheRoad |
Type | PC Utilities |
Version | 1.1 |
License | MIT License |
Last Updated | 2018/11/04 |
Links | |
Download | |
Website | |
Source | |
hacbuild is a utility to rebuild Switch GameCards (XCI) made by LucaFraga.
Original version can be found here.
This is the revised version made by JulesOnTheRoad.
Features
- Builds\rebuilds xci files and hfs0 partitions and root.hfs0 files.
- Rebuilds hfs0 partitions with less padding than the official ones.
- Reads xci files to obtain game_info files.
- Can build empty hfs0 partitions.
User guide
xci auto builder: Builds a XCI from a directory containing the folders 'normal', 'secure' and 'update' and a 'game_info.ini' file.
hacbuild.exe xci_auto <input_folder> <output_file>
xci auto builder with file deletion while building: Same but with input folders and temporal file deletion while building.
hacbuild.exe xci_auto_del <input_folder> <output_file>
Manual builder for xci from root.hfs0: Builds a XCI from a directory containing 'root.hfs' and 'game_info.ini'.
hacbuild.exe xci <input_folder> <output_file>
root.hfs0 auto builder: Builds a root.hfs0 from a directory containing the folders 'normal', 'secure' and 'update'.
hacbuild.exe rhfs0_auto <input_folder>
root.hfs0 auto builder with file deletion while building: Same but with input folders and temporal file deletion while building.
hacbuild.exe rhfs0_auto_del <input_folder>
Manual builder for hfs0 (normal/secure/update): Builds a hfs0 partition.
hacbuild.exe hfs0 <input_folder> <output_file>
Manual builder for root.hfs0: Builds a hfs0 partition, currently it needs a multiplier, needs work to read the multiplier from input hfs0 files.
hacbuild.exe root_hfs0 <input_folder> <output_file> <multiplier>
Get 'game_info' file named as file input name: Get game_info file named as the input xci in the folder you set.
hacbuild.exe read xci <input_file> <output_folder>
Get 'game_info' file named as gameinfo.ini: Get game_info file named as gameinfo.ini in the folder you set.
hacbuild.exe read xci <input_file> <output_folder>
Limitations
- The Switch don't like secure partition with less than 4 files inside.
- You can put several content inside the secure partition but you can't put more than 8 different games inside. It may be due to horizon qlauncher, it *May be able to read them without error with a custom launcher.
- Only tickets for updates get read by horizon inside the secure partition.
- Still need to make code to generate automatically the multiplier when building a root hfs0 from other hfs0 partitions
Screenshots
Changelog
v1.1 (by julesontheroad)
- Erased need for XCI Header Key.
- Readapted hfs0manager to build hfs0 partitions with hashregions bigger than 0x200.
- Added new functions.
v1.0.0.1 2019/06/29
- Fixes buffer overflow with larger files.
v1.0.0.1 2019/06/29 (by LucaCorigliano)
- This should fix Issue #5 for good now.
- Removed all possibilities of UInt32 overflow.
Credits
Credits and useful links:
- Original hacbuild by LucaFraga hacbuild was inspired by:
- hactool by SciresM.
- NXTools by jackron We'd also like to thank SwitchBrew for their extensive research and documentation of the Nintendo Switch.