ROM Hack RELEASE XCI BUILDER

  • Thread starter JRoad
  • Start date
  • Views 145,948
  • Replies 269
  • Likes 17

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
is desc editor, seen in this post, an official sdk tool or a legal one?
if legal, is there a release thread?
Yes, there is a github. It actually is called Metatool https://github.com/ALEXZZZ9/MetaTool/releases

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

so far these are the ones that i dont have working and throw gamecard errors anyone else have luck with them ??


outlast
outlast 2
outlast bundle
fe
korg
deemo
I'll look at it when I can.
 
  • Like
Reactions: Cyan and kingraa777

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain

Attachments

  • outlast2.PNG
    outlast2.PNG
    2.2 KB · Views: 196

Moko

Well-Known Member
Member
Joined
Feb 19, 2007
Messages
113
Trophies
1
XP
1,781
Country
Germany
sorry about the question, is the a tut available?
i dont what should i use:
NUT_BC.bat
XCI_Builder.bat or

i think that NUT_BC is not correct:
Code:
Drag file/folder or set option: 1
*******************************************************
CHOOSE WHAT TO DO AFTER CLEANING TITLERIGHTS ENCRYPTION
*******************************************************
Press "1" to repack list as nsp
Press "2" to repack list as xci
Press "3" to repack list as both
Enter your choice: 3
O:\Hardware\Switch\XCI-Builder>
but XCI_Builder.bat doesnt also work:
Code:
----------------------------------------------------
Extracting nsp file with hactool by SciresM
----------------------------------------------------
[WARN]: Failed to match key "encrypted_header_key", (value "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Key (0100934003bcc0000000000000000003|2dfa533670422fbc47168112adedce22|guns) must be 32 hex digits!
DONE
Das System kann die angegebene Datei nicht finden.  (*The system can not find the stated file.*)
Das System kann die angegebene Datei nicht finden.  (*The system can not find the stated file.*)
[WARN]: Failed to match key "encrypted_header_key", (value "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Key (0100934003bcc0000000000000000003|2dfa533670422fbc47168112adedce22|guns) must be 32 hex digits!
Das System kann die angegebene Datei nicht finden.  (*The system can not find the stated file.*)
"Control" kann syntaktisch an dieser Stelle nicht verarbeitet werden.  (*"Control" can not be processed syntactically at this point.*)
O:\Hardware\Switch\XCI-Builder>

comments in (**) are translated by google
encrypted_header_key replaced with xxxxxxxxxxxxxxxxxxxxxxxx


I'm a bit confused
 
Last edited by Moko,
  • Like
Reactions: JRoad

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
It's easy you need to fill the keys.txt file. It's only a
template so you can search for the keys since we can't share them in GitHub or gbatemp for legal reasons.
Actually I'd look about making something to verify them since the check I'm doing is for existence of the text file but since I'm putting a template...
For now I think I'll rename it to "fill and rename to keys.txt" so the program doesn't work till you do that.

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

After you fill the keys.txt install python dependencies if you didn't before.
 

Moko

Well-Known Member
Member
Joined
Feb 19, 2007
Messages
113
Trophies
1
XP
1,781
Country
Germany
have found the error:
the comma in 2 titles makes the error
if i remove the lines with "Guns, Gore and Cannoli" and "I, Zombie" from the title.keys, it works
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
have found the error:
the comma in 2 titles makes the error
if i remove the lines with "Guns, Gore and Cannoli" and "I, Zombie" from the title.keys, it works
Yeah, Nut Cleaner 0.41 and the one from the "github master" have options to prevent those errors by temporarly renaming the original till is copied to the working folder.
The safebat method removes the commas, and other special characters. The agro (agresive output) renames to tempname. There is also a second option (option 10) that allows to read the real name from the control nca and the version for updates and dlcs from the meta nca file to rename the file accordingly.
The github master has also a couple of changes.

You can set the options by editing with a text editor "nsp_cleaner_options.cmd"

These 3 were the last options added:
options.PNG
 

Attachments

  • NUT_Cleaner_V0_41b_nk.zip
    1.5 MB · Views: 135

PsyKos

Active Member
Newcomer
Joined
Dec 5, 2007
Messages
37
Trophies
1
Age
41
Location
France
Website
psykos77.free.fr
XP
486
Country
France
Sorry but doesn't work for me :(

I have installed Python 3.7 with path and dependencies. After rebooting, I only two files with NUT_Cleaner 0.41b and XCI_Builder_v0.7 in "BC_Output" : one zipped and one (little) nsp. I want to convert NSP to XCI and I have tried Auto and Manual with the same result.

How can I resolve this error ?

Thank you.
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Sorry but doesn't work for me :(

I have installed Python 3.7 with path and dependencies. After rebooting, I only two files with NUT_Cleaner 0.41b and XCI_Builder_v0.7 in "BC_Output" : one zipped and one (little) nsp. I want to convert NSP to XCI and I have tried Auto and Manual with the same result.

How can I resolve this error ?

Thank you.
Check that you don't have spaces in the program route or weird symbols, it works for me with spaces but I know people that have this issue with them.

Do C:\NC or C:\Switch\NC and then put the program there, I also asume you have the keys filled correctly.
You can also call the program trough the command line and even make a log:
Example:
cd /d "C\NC"
NUT_BC.bat
-> Manual mode
NUT_BC.bat "fileroute\file.nsp" -> Auto mode
NUT_BC.bat "fileroute\file.nsp" >mylog.txt -> Auto mode with a log of what the program do

If you're able to make a log I can look at it and tell you what's wrong.

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

Here an example log in auto mode with xci + nsp repacking (both option). I erased the titlekeydec just in case but the rest is the full log.
Basically if all goes well in the xci part you should only see: (see full log in attached file)
----------------------------------------------
Building xci file with hacbuild by LucaFraga
----------------------------------------------
NOTE:
With files bigger than 4Gb it'll take more time proportionally than with smaller files.
Also you'll need to have at least double the amount of free disk space than file's size.
IF YOU DON'T SEE "DONE" HACBUILD IS STILL AT WORK.
........................................................................................
DONE

Although one of the things in my list is to check the xci was built correctly since hactool sometimes crash with big files without completing the job and make smaller xci files than it should.
 

Attachments

  • mylog.txt
    3.8 KB · Views: 155
Last edited by JRoad,

PsyKos

Active Member
Newcomer
Joined
Dec 5, 2007
Messages
37
Trophies
1
Age
41
Location
France
Website
psykos77.free.fr
XP
486
Country
France
Thanks for your fast answer :) Keys file is correct (I think) because "supertrim" works fine (NX Trimmer).

Mylog.txt doesn't contain any important information :

__ __
____ __ __/ /_ _____/ /__ ____ _____ ___ _____
/ __ \/ / / / __/ / ___/ / _ \/ __ `/ __ \/ _ \/ ___/
/ / / / /_/ / /_ / /__/ / __/ /_/ / / / / __/ /
/_/ /_/\__,_/\__/____\___/_/\___/\__,_/_/ /_/\___/_/
/_____/
-------------------------------------------------------------------------------------
============================= BY JULESONTHEROAD =============================
-------------------------------------------------------------------------------------
" POWERED WITH NUT BY BLAWAR "
VERSION 0.41
-------------------------------------------------------------------------------------
check xci_batch_builder at: https://github.com/julesontheroad/
and check blawar's NUT at: https://github.com/blawar/nut
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
Copy Sonic.nsp to nspDecrypted
-------------------------------------------------------------------------------------
DONE
-------------------------------------------------------------------------------------
Cleaning nsp with nut.py
-------------------------------------------------------------------------------------
,;:;;,
;;;;;
.=', ;:;;:,
/_', "=. ';:;:;
@=:__, \,;:;:'
_(\.= ;:;;'
`"_( _/="`
`"'
.......
DONE
-------------------------------------------------------------------------------------
Extracting nsp file with hactool by SciresM
-------------------------------------------------------------------------------------
DONE
-------------------------------------------------------------------------------------
Removing ticket and cert and ziping them
-------------------------------------------------------------------------------------
DONE
-------------------------------------------------------------------------------------
Repacking as nsp with nspbuild by CVFireDragon
-------------------------------------------------------------------------------------
DONE
Cleaned Sonic.nsp

Your files should be in the respective output folders

/@
\ \
___\ \
(__O) \
(____@) \
(____@) \
(__o)_ \
\ \

HOPE YOU HAVE A FUN TIME

No space in program route and weird symbol... File is "Sonic.nsp" in "C:\NC\". I don't know what happen :( For information, I was a lot of error :

__ __
____ __ __/ /_ _____/ /__ ____ _____ ___ _____
/ __ \/ / / / __/ / ___/ / _ \/ __ `/ __ \/ _ \/ ___/
/ / / / /_/ / /_ / /__/ / __/ /_/ / / / / __/ /
/_/ /_/\__,_/\__/____\___/_/\___/\__,_/_/ /_/\___/_/
/_____/
-------------------------------------------------------------------------------------
============================= BY JULESONTHEROAD =============================
-------------------------------------------------------------------------------------
" POWERED WITH NUT BY BLAWAR "
VERSION 0.41
-------------------------------------------------------------------------------------
check xci_batch_builder at: https://github.com/julesontheroad/
and check blawar's NUT at: https://github.com/blawar/nut
-------------------------------------------------------------------------------------
Traceback (most recent call last):
File "ztools\nut_RTR.py", line 14, in <module>
import Titles
File "lib\Titles.py", line 7, in <module>
import Title
File "lib\Title.py", line 15, in <module>
import Nsps
File "lib\Nsps.py", line 4, in <module>
import Fs
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\__init__.py", line 1, in <module>
from Fs.Xci import Xci
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Xci.py", line 3, in <module>
from Fs.Hfs0 import Hfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Hfs0.py", line 10, in <module>
from Fs.Pfs0 import Pfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Pfs0.py", line 13, in <module>
import Keys
File "lib\Keys.py", line 92, in <module>
load('keys.txt')
File "lib\Keys.py", line 64, in load
for line in f.readlines():
File "C:\Users\PsyKos\AppData\Local\Programs\Python\Python37-32\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 86: invalid start byte
-------------------------------------------------------------------------------------
Copy Sonic.nsp to nspDecrypted
-------------------------------------------------------------------------------------
DONE
-------------------------------------------------------------------------------------
Cleaning nsp with nut.py
-------------------------------------------------------------------------------------
Traceback (most recent call last):
File "ztools\nut_RTR.py", line 14, in <module>
import Titles
File "lib\Titles.py", line 7, in <module>
import Title
File "lib\Title.py", line 15, in <module>
import Nsps
File "lib\Nsps.py", line 4, in <module>
import Fs
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\__init__.py", line 1, in <module>
from Fs.Xci import Xci
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Xci.py", line 3, in <module>
from Fs.Hfs0 import Hfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Hfs0.py", line 10, in <module>
from Fs.Pfs0 import Pfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Pfs0.py", line 13, in <module>
import Keys
File "lib\Keys.py", line 92, in <module>
load('keys.txt')
File "lib\Keys.py", line 64, in load
for line in f.readlines():
File "C:\Users\PsyKos\AppData\Local\Programs\Python\Python37-32\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 86: invalid start byte
Traceback (most recent call last):
File "ztools\nut_RTR.py", line 14, in <module>
import Titles
File "lib\Titles.py", line 7, in <module>
import Title
File "lib\Title.py", line 15, in <module>
import Nsps
File "lib\Nsps.py", line 4, in <module>
import Fs
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\__init__.py", line 1, in <module>
from Fs.Xci import Xci
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Xci.py", line 3, in <module>
from Fs.Hfs0 import Hfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Hfs0.py", line 10, in <module>
from Fs.Pfs0 import Pfs0
File "C:\DL\XCI\NUT_Cleaner_V0_41b_nk\ztools\Fs\Pfs0.py", line 13, in <module>
import Keys
File "lib\Keys.py", line 92, in <module>
load('keys.txt')
File "lib\Keys.py", line 64, in load
for line in f.readlines():
File "C:\Users\PsyKos\AppData\Local\Programs\Python\Python37-32\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 86: invalid start byte
,;:;;,
;;;;;
.=', ;:;;:,
/_', "=. ';:;:;
@=:__, \,;:;:'
_(\.= ;:;;'
`"_( _/="`
`"'
.......
DONE
-------------------------------------------------------------------------------------
Extracting nsp file with hactool by SciresM
-------------------------------------------------------------------------------------
DONE
-------------------------------------------------------------------------------------
Removing ticket and cert and ziping them
-------------------------------------------------------------------------------------
Impossible de trouver C:\DL\XCI\NUT_Cleaner_V0_41b_nk\nspDecrypted\*.jpg
DONE
-------------------------------------------------------------------------------------
Repacking as nsp with nspbuild by CVFireDragon
-------------------------------------------------------------------------------------
Terminer le programme de commandes (O/N) ?
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Seems that your keys are wrong and some parts of the program are crashing, it seems that you have some keys right I suppose and that is why it completes certains parts.
 
  • Like
Reactions: PsyKos

PsyKos

Active Member
Newcomer
Joined
Dec 5, 2007
Messages
37
Trophies
1
Age
41
Location
France
Website
psykos77.free.fr
XP
486
Country
France
Seems that your keys are wrong and some parts of the program are crashing, it seems that you have some keys right I suppose and that is why it completes certains parts.

Yes! It's OK with your file :) Thank you very much :)

It's normal if I have only one XCI ? Not small NSP to install ?

[EDIT] With XCI Builder, I have just one small NSP with root.hfs0...
 
Last edited by PsyKos,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Yes! It's OK with your file :) Thank you very much :)

It's normal if I have only one XCI ? Not small NSP to install ?

[EDIT] With XCI Builder, I have just one small NSP with root.hfs0...
Yes, the cleaner uses nut libraries to remove the need for the ticket. So thank blawar for that: https://github.com/blawar/nut

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

Yes, the cleaner uses nut libraries to remove the need for the ticket. So thank blawar for that: https://github.com/blawar/nut
With the xci builder thing. Take the keys.txt that worked for you with the cleaner and rplace the one from ztools. The keys.txt there is just a placeholder that you need to fill.
 
  • Like
Reactions: PsyKos

PsyKos

Active Member
Newcomer
Joined
Dec 5, 2007
Messages
37
Trophies
1
Age
41
Location
France
Website
psykos77.free.fr
XP
486
Country
France
Yes, the cleaner uses nut libraries to remove the need for the ticket. So thank blawar for that: https://github.com/blawar/nut

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


With the xci builder thing. Take the keys.txt that worked for you with the cleaner and rplace the one from ztools. The keys.txt there is just a placeholder that you need to fill.

Thanks again for the (very) quick answer. In the meantime, I downloaded XCI Builder 0.7 again and added your key file.

Everything works perfectly now, I have two files: "Sonic [lc].nsp" and "Sonic [nm] [xcib].xci".

Thanks again for all yours help :)
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Thanks again for the (very) quick answer. In the meantime, I downloaded XCI Builder 0.7 again and added your key file.

Everything works perfectly now, I have two files: "Sonic [lc].nsp" and "Sonic [nm] [xcib].xci".

Thanks again for all yours help :)
Yeah, although i'll go with the cleaner. Still the builder it's usefull sometimes but download https://github.com/julesontheroad/-XCI-Batch-Builder-/releases/tag/v0.1
xci batchbuilder has nx_trimmer and xci_builder incorporated and let you process folders (although i should update it to process subfolders). The idea is to incorporate all my programs in a new one that will be called nx_buider, though it's still in the works and I don't think i'll have much time this weekend to advance it.
You'll need to replace the keys.txt for batchbuilder too.
 

PsyKos

Active Member
Newcomer
Joined
Dec 5, 2007
Messages
37
Trophies
1
Age
41
Location
France
Website
psykos77.free.fr
XP
486
Country
France
Just a question: can you add the possibility to change the "RequiredSystemVersion" in ".cnmt.xml" file ? Like Tinfoil ? Thank you again.

[EDIT] I have added "pause" just after ""ztools\hactool.exe" -k "ztools\keys.txt" -t pfs0 --pfs0dir=nspDecrypted\rawnsp "nspDecrypted\%filename%.nsp" >NUL 2>&1" and I can manually change "RequiredSystemVersion" ;) Thanks again.
 
Last edited by PsyKos,

lufeig

Well-Known Member
Member
Joined
Oct 22, 2009
Messages
306
Trophies
1
Age
45
Location
São Paulo, Brazil
XP
1,057
Country
Brazil
just reporting that Resident Evil Revelations 2 nsp, a 25GB game file, converted flawlessly to xci

it took a little while, but well worth it in my opinion!

thanks!!!
 

Quicksilver88

Well-Known Member
Member
Joined
Jan 26, 2013
Messages
618
Trophies
1
Age
54
XP
753
Country
United States
@JRoad

Hey thanks for all your good work. Looks like these .xci builder scripts just got extra useful as SX 2.2 beta just dropped allowing USB mounted .xci images to be played.

Quick question, and sorry if its been asked. Is there any way to pack up the update (primarily) and DLC (not as important) into the .xci file? Obviously we get some of the big games having even bigger updates and would be really cool to pack big games like NBA2k19 into a single mountable mountable .xci file.

Is something like that possible?
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Just a question: can you add the possibility to change the "RequiredSystemVersion" in ".cnmt.xml" file ? Like Tinfoil ? Thank you again.

[EDIT] I have added "pause" just after ""ztools\hactool.exe" -k "ztools\keys.txt" -t pfs0 --pfs0dir=nspDecrypted\rawnsp "nspDecrypted\%filename%.nsp" >NUL 2>&1" and I can manually change "RequiredSystemVersion" ;) Thanks again.
Yes, but tinfoil no longer looks in the xml. It looks in the meta nca. I'd prefer to not modify the meta nca really.
About the xci files the preset I use is from a 5.1 game so you can try and generate other preset or modify some settings in it, I suppose.

Is it possible to convert multiple nsp files with XCI Builder?!
Yes for that use nut cleaner or xci_batch_builder. Both are multi-file processors. Nut Cleaner is more advanced really.

@JRoad

Hey thanks for all your good work. Looks like these .xci builder scripts just got extra useful as SX 2.2 beta just dropped allowing USB mounted .xci images to be played.

Quick question, and sorry if its been asked. Is there any way to pack up the update (primarily) and DLC (not as important) into the .xci file? Obviously we get some of the big games having even bigger updates and would be really cool to pack big games like NBA2k19 into a single mountable mountable .xci file.

Is something like that possible?
Not for now. There is a bug in hacbuild that prevents working xci files with more than 4nca files that and I didn't look into it for a long time.
I have a general Idea of were the issue could be but I’ve been busy between work and working in things to add to nut_cleaner to look into it again. The idea was to look into it in the future.
I kinda was loosing interest since tinfoil usb installation release till this last SX OS update.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto