Tutorial  Updated

How to remove fake tickets from NSP file ("Standard crypto" equivalent) [Ban Risk Mitigation]

Hello everyone!

Since both Tinfoil and SX Installer now (finally) support Standard Crypto Conversion natively, the method described in this thread no longer serves any practical purpose.
The method is still fully functional (using Nut 1.2, as it was gutted of most of its features after that), so have a go at it for educational purposes if you desire to do so.

We had hell of a good run! This method was the gold standard of not getting your Switch banned after installing NSPs for more than a year.
But mainstream adoption has always been the desired outcome, and I'm proud to say it has been achieved!

Stay safe out there, block Big-N's telemetry servers on your router, and have a good time gaming!


PsychOsmosis





______________________

Hello everyone!

It is widely thought that going online after installing a NSP with a fake ticket leads to an almost inevitable ban.

Some people have been bragging on the forum that they use a private method (using the SDK) to reencrypt the NSP file with "standard crypto" (like the XCI/cartridge games) instead of the "ticket rights" usually used for eShop titles.
Detailed below is a method to modify a NSP file by removing the fake title rights, rewriting the header to no longer use the ticket, and finally deleting the fake ticket, therefore leading to a theoretically reduced risk of ban, as your console will no longer have a fake ticket in its ticket blob and your installed eShop titles will no longer have a rights-ID that doesn't match your console ID. This method leads to the creation of a NSP file that is practically equivalent to one that as been repacked using "standard crypto" (which is a bit misleading in its own right as NSP files are not encrypted).


DO NOT USE THIS GUIDE IF YOU ABSOLUTELY DON'T WANT TO GET BANNED!
THERE IS NO GUARANTEE THIS WILL PREVENT YOU FROM BEING BANNED!
THIS METHOD LEADS TO A THEORETICAL REDUCTION OF THE BAN RISK!


This method should be used in conjunction with other ban risk reduction methods, such as disabling telemetry (EU) / blocking the telemetry servers in your router hosts file (EU citizens should do BOTH), using a whitelist-based custom DNS/firewall configuration, using creport (for people not on SXOS) and/or using Stealth Mode (for people on SXOS, because we don't have access to creport... :()


This guide is based on the awesome script "nut" by Blawar!
Without him, this method would not exist!!


I added a guide on how to block the telemetry (and other harmful) servers in post #10 below!!


Game updates NSP files should NOT be processed using this method if you apply the update on a XCI game (cartridge dump)!
The tickets in an update are actually 100% legit and are neither console-specific or account-specific!


If you have processed the base game NSP file (using this method) on which you want to apply the update to, it is debatable if you should process the update as well or not.
The creator of CDNSP believes you should not, while I think it might raise some red flags if you install an update with tickets on a game for which there is no ticket in your console's ticket blob.
Please be aware of this information and proceed as you see fit.




Update (October 22, 2018) :

The script no longer works when applied to DLCs as of 6.0.1 (and probably 6.0.0)! It still works on base games though!!
This is due to the anti-piracy measures implemented by Big-N in this firmware version.

Since DLCs always come from the eShop, and therefore always come with a ticket, there is some kind of online check made when you try to run a game after installing a ticketless DLC for it.
Furthermore, it seems that the check is made using one of the few servers I actually whitelist (game update server maybe?).

I still have to try applying the script on an update to see if it works in this case. I will update you guys when I've done so.




Prerequisites :

- Download nut from github (https://github.com/blawar/nut/) by using the "Clone or download" green button and choosing "Download as ZIP". Extract the ZIP archive.

- LOOK AT THE REQUIREMENTS FOR NUT ON THE GITHUB PAGE. You need to have Python3 installed, then you use pip to install some modules :
pip3 install colorama pyopenssl requests tqdm unidecode image bs4 urllib3 flask pyqt5

In my case, I had to update pip before I could install the other modules :
py -m pip install --upgrade pip

If you try to run it and you get a Python error that's due to a missing module, it should display the name of the module in the error log on the command line interface window.
If the command line window shuts down before you can read, read the troubleshooting part below in red, it will help you reading the error message.
Just run "pip3 install MODULE_NAME" as you did with the other modules above.

Configure your nut.conf (in the "conf" folder). In my case, I just disabled (set to false) the first four settings of the "download" section of "nut.default.conf".

- A copy of your Switch keys. If you don't have them, you need to find them on your own on the interwebs or extract them from your console. There are guides for that. The file must be named "keys.txt" and be located in the (incredibly funny default-named) "nut-master" folder you extracted from the ZIP.

- A game in the NSP file format. Place it in the nut-master folder. The file can be a scene release or a game obtained from the CDN. You CAN use nut to download games from the CDN, but I personally don't know how and this is not a "CDN download tutorial".

- Hactool should be updated to the latest release (1.2.0) in the bin subfolder of nut-master in order to support NSP packages containing > 15 files!



NOW AUTOMATED IN A BATCH FILE!! :toot:
Code updated: October 16, 2018.
Confirmed working with firmwares up to 6.2.0 (on any CFW that supports installing unsigned NSPs)!!


You still need the prerequisites listed above though. There's no way around that! ;)


Your .NSP must be located in the nut-master folder AND must contain the TitleID in the filename so nut can use it to rewrite the header of the .NCA!!

Well, the code just got a fair bit prettier thanks to
Bigjokker with two simple but brilliant variable changes!
Now, after placing the .NSP and the batch file in the nut-master folder, just drag & drop the .NSP onto the batch file and voilà, it does its magic!!

You should see the ASCII squirrel a total of three times in the command line window, but it does not necessarily mean it worked if you see this!
In your nut-master folder, a folder with the same name as your NSP will be created, the NSP will be deleted and a new NSP will be created (about 2.5 kilobytes smaller than the original, compare with a backup of the original!!).

If the behavior of the script is any different, IT DIDN'T WORK!!

Even if all of the above is true, it might not have worked!! If the first part fails, you will still have a modified NSP 2.5 kilobytes smaller than the original (but it will crash at launch and send a dirty error log to Big-N)!

You can verify if it works by removing the "REM " at the three instances where there is a "REM pause" in the code, so it says "pause" instead.

By doing this, the script will pause after every step (prompting you to press a key to continue) so you can see if there was a nut / Python3 / Windows CLI related error!
You can also remove the @Echo off if you're having issues but the script doesn't show any error to make troubleshooting easier for us.

EVERYBODY SHOULD DO THIS AT LEAST ONCE TO MAKE SURE NUT AND PYTHON ARE PROPERLY CONFIGURED!!!
If everything works as it should, you can revert back the script to its original form to re-automate the three steps together.


Code:
@echo off
SET "nutpy=%~dp0"
SET "filenam=%~n1"
if EXIST "%nutpy%%filenam%\" rmdir /s /q "%nutpy%%filenam%"
if NOT EXIST "%nutpy%backup\" mkdir "%nutpy%backup"
if NOT EXIST "%nutpy%backup\%filenam%.nsp" copy /v "%nutpy%%filenam%.nsp" "%nutpy%backup\%filenam%.nsp"
cd /d "C:\Windows"
py.exe "%nutpy%nut.py" --remove-title-rights "%filenam%.nsp"
REM pause
py.exe "%nutpy%nut.py" -x "%filenam%.nsp"
REM pause
cd /d "%nutpy%%filenam%"
del *.tik
del *.cert
cd /d "%nutpy%"
del "%filenam%.nsp"
cd /d "%nutpy%%filenam%"
set /a n=0
setlocal ENABLEDELAYEDEXPANSION
for %%i in (*) do (
    set /a n=n+1
    set files!n!=%%i
)
if !n! == 2 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%"
)
if !n! == 3 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%"
)
if !n! == 4 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%"
)
if !n! == 5 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%"
)
if !n! == 6 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%"
)
if !n! == 7 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%"
)
if !n! == 8 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%"
)
if !n! == 9 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%"
)
if !n! == 10 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%"
)
if !n! == 11 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%"
)
if !n! == 12 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%"
)
if !n! == 13 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%"
)
if !n! == 14 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%"
)
if !n! == 15 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%"
)
if !n! == 16 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%"
)
if !n! == 17 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%"
)
if !n! == 18 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%"
)
if !n! == 19 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%"
)
if !n! == 20 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%"
)
if !n! == 21 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%"  "%nutpy%%filenam%\%files21%"
)
if !n! == 22 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%"  "%nutpy%%filenam%\%files21%"  "%nutpy%%filenam%\%files22%"
)
if !n! == 23 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%"  "%nutpy%%filenam%\%files21%"  "%nutpy%%filenam%\%files22%"  "%nutpy%%filenam%\%files23%"
)
if !n! == 24 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%" "%nutpy%%filenam%\%files21%"  "%nutpy%%filenam%\%files22%"  "%nutpy%%filenam%\%files23%" "%nutpy%%filenam%\%files24%"
)
if !n! == 25 (
    "C:\Windows\py.exe" "%nutpy%nut.py" -c "%filenam%.nsp" "%nutpy%%filenam%\%files1%" "%nutpy%%filenam%\%files2%" "%nutpy%%filenam%\%files3%" "%nutpy%%filenam%\%files4%" "%nutpy%%filenam%\%files5%" "%nutpy%%filenam%\%files6%" "%nutpy%%filenam%\%files7%" "%nutpy%%filenam%\%files8%" "%nutpy%%filenam%\%files9%" "%nutpy%%filenam%\%files10%" "%nutpy%%filenam%\%files11%" "%nutpy%%filenam%\%files12%" "%nutpy%%filenam%\%files13%" "%nutpy%%filenam%\%files14%" "%nutpy%%filenam%\%files15%" "%nutpy%%filenam%\%files16%" "%nutpy%%filenam%\%files17%" "%nutpy%%filenam%\%files18%" "%nutpy%%filenam%\%files19%" "%nutpy%%filenam%\%files20%" "%nutpy%%filenam%\%files21%"  "%nutpy%%filenam%\%files22%"  "%nutpy%%filenam%\%files23%" "%nutpy%%filenam%\%files24%" "%nutpy%%filenam%\%files25%"
)
endlocal
REM pause



Troubleshooting script :


If you're having issues and want our help, run the following script on your NSP BEFORE AND AFTER running the method described above and provide us with the information this script displays.


Code:
@echo off
SET "nutpy=%~dp0"
SET "filenam=%~n1"
py.exe "%nutpy%nut.py" -i "%filenam%.nsp"
pause



Batch processing :


If you have a bunch of NSP files in a folder and some of them don't have the TitleKey in the filename, I understand that it would be a pain to process them one by one using the batch file (even though it takes only 2 seconds per file).

If you are in this situation, @Bigjokker has made another batch file that will process every NSP in a folder, even if the TitleKey is not in the filename!!

The code of his batch file is a bit above my skill level, so I cannot vouch 100% for it (since I understand about 85% of it), but the code looks fine and I trust the guy.
For the same reason, I cannot troubleshoot your issues and modify the code accordingly, so if you use his batch processing batch file (it might not be the most elegant way to call it, but it is what it is! :lol:), you'll have to see with him if you have problems with it.
You might want to test your setup of Python3 and nut with my batch file first (to see if everything works properly) since it has been tested by more people since its release and then switch to @Bigjokker 's batch file if all goes well.

Here'a a link to his post where you can download his file!




Manual Method :

No longer kept up to date, but it should still work if you don't want to use the above script for whatever reason.

- Copy your NSP file in the "nut-master" folder.

- (OPTIONAL) Use the following command to pull the info of your NSP file. This is not required as it's only used to compare your file before and after the two "main steps" of this method.
nut.py -i "YOUR_GAME [TITLEKEY][vX].nsp"
In my case, on Windows 10, I had to use the following command to access nut.py using python. So, if you have problems getting nut.py to run, try this for each and every command in this guide :
cd C:\PYTHON3_INSTALL_FOLDER
python "C:\WHERE_YOU_EXTRACTED\nut-master\nut.py" -i "YOUR_GAME [TITLEKEY][vX].nsp"

In the info dump provided by nut, you can see a ticket file (in which the rightsId is not related to your console-id), a few NCA files, a CERT file and a XML file.
If you install the NSP as is, this ticket gets imported in your console's ticket blob and when it sends its telemetry to Big-N, you get banned!!
The "main NCA file" (the one with the largest file size, AKA "the game") also has a rightsId which doesn't match your console, which could also lead to a ban if you launch the game and then connect to the internet.
You can see that the smaller NCA files have their rightsID set to 0, as they are "unprotected" because they are not important enough to protect.

- Run the following command to set the value of these rightsId to 0.
nut.py --remove-title-rights "YOUR_GAME [TITLEKEY][vX].nsp"

- (OPTIONAL) Then, if you run the "info" command again, you should see that the ticket is still there, but the instances where you had fake rightsId are set to 0 (as they are in the other NCA files, so it should theoretically be considered "unprotected" by the console).

- Now we need to remove this evil ticket to prevent it from being imported in our precious ticket blob. Let's start by unpacking the NSP.
nut.py -x "YOUR_GAME [TITLEKEY][vX].nsp"

A folder is then created with all the files of the NSP inside.

- DELETE (OR MOVE AWAY) THE NSP FROM YOUR nut-master FOLDER!!

- Navigate to that folder, and delete the ticket file "WHATEVER.TIK".

- Then, we repack the NSP without this ticket :
nut.py -c "YOUR_GAME [TITLEKEY][vX].nsp" "C:\WHERE_YOU_EXTRACTED\nut-master\YOUR_GAME [TITLEKEY][vX]\*.*"

For some reason, in my case, this command didn't work. It seems that, in some instances on Windows, Python3 shits the bed when using wildcards. But for Blawar, also on Windows 10, it works perfectly. Go figure.

If this happens to you, use the following command instead (it's incredibly long and tedious to input, but I didn't find another way to make it work) :
nut.py -c "YOUR_GAME [TITLEKEY][vX].nsp" "C:\WHERE_YOU_EXTRACTED\nut-master\YOUR_GAME [TITLEKEY][vX]\FILE1.cert" "C:\WHERE_YOU_EXTRACTED\nut-master\YOUR_GAME [TITLEKEY][vX]\FILE2.nca" "C:\WHERE_YOU_EXTRACTED\nut-master\YOUR_GAME [TITLEKEY][vX]\FILE3.nca" ............. "C:\WHERE_YOU_EXTRACTED\nut-master\YOUR_GAME [TITLEKEY][vX]\LAST_FILE.xml"

YOU MUST DO THIS WITH EVERY FILE (apart from the deleted ticket) IN THE FOLDER IN A SINGLE COMMAND!

- There you go, it's done. You can run the "info" command again and you should see that the ticket (along with the rightsID) is no more.
The final file size should be about 768 bytes smaller than the initial file size.



This has been tested with SXOS and it works flawlessly. The games install and run just fine.
You also need to follow the same procedure for the NSP updates you want to install.

Thanks again Blawar for your incredible tool and all the help you gave me!!
 
Last edited by PsychOsmosis,

PsychOsmosis

Well-Known Member
OP
Newcomer
Joined
Jan 18, 2016
Messages
99
Trophies
0
XP
592
Country
Canada
Maybe the DLC have different structures?

Well, the file structure is the same at least. I've got two DLCs here that processed fine but I didn't try installing them yet.

- What is the error message you get?
Please refer to dlc_error.jpg

- Is it during the install or when you try to launch the game?
Launch the game

- Does the base game (without DLC) work?
Yes. Base game + Update is working, Base game + Update + DLC is not working.
Installed via SX OS 1.9 Install tab.

- Was the base game also processed using this method?
Yes, please see the compare_nsp.zip

I am on SX OS 1.9 and OFW 6.0.0.

More over, if you go to System Setting >> Data Management >> Manage Software >> "Title" >> Check for Corrupt Data, it will shows Corrupted Data was found but it can still be launched(only base + update is installed).

Hmm, could you try adding the "REM " in front of the three "pause" of the batch file (as described in the first post) and post a screenshot of each "squirrel"?
Do this for the DLC (so we can verify it was processed properly, because sometimes even with three squirrels it might not have worked) AND for an update that was only displaying two squirrels. I'm beginning to suspect there's something wrong/missing in your installation of nut/python3 with those two different issues.

And this is a different issue.
I could not process some game update NSP. Only see ASCII squirrel for 2 times.
I used the same batch script which I processed another game + update + dlc before.

During the conversation I had yesterday with CDNSP's creator, I learned that the tickets of the updates are actually 100% legit, since updates do not produce tickets that are console or account specific.
So you wouldn't even need to process them for them to be alright. CDNSP's creator believes it's a bad idea to change the way the tickets are handled for updates because updates are always done with those legit tickets.

On my part, I still think it might raise some red flags that you're installing an update for a game you "never actually installed" (with tickets), so I think I'll still continue to treat updates the same way.
I believe that when the telemetry servers are blocked, Big-N's got no way to know you've installed either the games or the updates when they were processed using this method, and you won't end up having an update ticket in your ticket blob for which there's no game ticket (especially for eShop-only titles).
For NSP updates applied on a XCI game though, you should NOT process them using this batch file, as the update is 100% legit and the game is seen as "a cartridge you own"!!
I will update the OP accordingly in the next few days, since it will take a while to explain this clearly and I'm not even sure what to recommend at this point in time...

@gnilwob , you should still do the troubleshooting for the updates, as I believe the batch file is just not working at all in your case!!

EDIT: Oops, didn't see your zip file. Never mind, you seem to have done all the necessary troubleshooting already! Let me just look at it.

EDIT2: Ok, unscratch that. That's really weird and might be related to the new piracy countermeasures of firmware 6.0, so please do the troubleshooting in the first post for both the DLC and an update that had only two squirrels and post screenshots.
Also, I updated the code of the script this morning so it also removes the CERT file. Try this new version to see if it works. It shouldn't change anything but maybe it does so with the new 6.0 countermeasures.

EDIT3: Do you know when the update NSP was pulled from the CDN / posted online?
 
Last edited by PsychOsmosis,

gnilwob

Well-Known Member
Member
Joined
Mar 16, 2008
Messages
204
Trophies
1
XP
645
Country
Hong Kong
EDIT2: Ok, unscratch that. That's really weird and might be related to the new piracy countermeasures of firmware 6.0, so please do the troubleshooting in the first post for both the DLC and an update that had only two squirrels and post screenshots.
Also, I updated the code of the script this morning so it also removes the CERT file. Try this new version to see if it works. It shouldn't change anything but maybe it does so with the new 6.0 countermeasures.

On the same title, I will re-process the original nsp (base and dlc). I will not process update nsp.
Info on base and dlc (both before and after)
Please refer to nsp_compare.zip (before = file from cdnsp, after-1 = processed it with yesterday batch script, after-2 = processed it with today batch script)
Please refer to ticket-less-nsp.jpg for each file hash value.

I will test the following: (I am not with my console today, so it will be tomorrow my time, sorry)
- Install only base game
- Install base game and (unprocessed)update
- Install base game and (unprocessed)update and DLC.

Thanks for looking into this.


EDIT:
Sorry for confusion, the 2 squirrels is a different issue on a differ update file (different title, "Hollow Kxxxxxx")
But as you suggested that we should not process the update as the update is legit, so please drop this 2 squirrels topic.
The title(Pic-a-xxx) I used in the above reporting are completed with 3 squirrels on both base and dlc and update. But I will not process update anymore.
 

Attachments

  • nsp_compare.zip
    9.4 KB · Views: 222
  • ticket-less-nsp.png
    ticket-less-nsp.png
    35.4 KB · Views: 234
Last edited by gnilwob,

suzsuzuki

Well-Known Member
Member
Joined
Aug 25, 2016
Messages
403
Trophies
0
Age
36
XP
471
Country
Brazil
Hello, I'm finally banned, but I think the reason is not the NSP modification method.

I was playing a non-legit splatoon and MK8 online for 2 weeks with this method just fine, on latest FW. Yesterday I decided to try linux on NS, worked just fine. Then I forgot to put the jib and booted on OFW (I was using TomGER SDCard FW for these 2 weeks). After I tried to boot splatoon, I got an error because I was not in CFW. Then I rebooted in CFW I realized I was banned.

@Draxzelex what do you think about the main reason I was banned? Note that I was playing games online with this method without any problem till yesterday. Idk maybe I'm just luck.
 

PsychOsmosis

Well-Known Member
OP
Newcomer
Joined
Jan 18, 2016
Messages
99
Trophies
0
XP
592
Country
Canada
On the same title, I will re-process the original nsp (base and dlc). I will not process update nsp.
Info on base and dlc (both before and after)
Please refer to nsp_compare.zip (before = file from cdnsp, after-1 = processed it with yesterday batch script, after-2 = processed it with today batch script)
Please refer to ticket-less-nsp.jpg for each file hash value.

I will test the following: (I am not with my console today, so it will be tomorrow my time, sorry)
- Install only base game
- Install base game and (unprocessed)update
- Install base game and (unprocessed)update and DLC.

Thanks for looking into this.


EDIT:
Sorry for confusion, the 2 squirrels is a different issue on a differ update file (different title, "Hollow Kxxxxxx")
But as you suggested that we should not process the update as the update is legit, so please drop this 2 squirrels topic.
The title(Pic-a-xxx) I used in the above reporting are completed with 3 squirrels on both base and dlc and update. But I will not process update anymore.

Looking at this, everything should work fine. It seems the files were processed correctly.
My guess is it must be related to the new 6.0 anti-piracy firmware.

The only thing that's weird is the two squirrel issue, which might be related to the DLC issue, but I can't know for sure unless you screenshot the window with the squirrels during the process (as opposed to the nsp info, as it looks fine), you can add pauses to make it easier to sceenshot (as described in the OP).
I know you don't plan on installing the update anymore, but if you could process it anyway and delete it right after, this might be the key to understanding this.
But it might also not be related and it's just a 6.0 issue.

I used the guide https://gbatemp.net/threads/how-to-get-switch-keys-for-hactool-xci-decrypting.506978/ to dump my switch keys, which i have labeled keys.txt in the nut-master folder. When running the bat, i get the following error. any assistance is appreciated.

You're missing at least one of the keys required in your keys.txt, namely aes_kek_generation_source. The method you used probably doesn't dump that one.
Honestly, it's really easy to just google it, as the keys are the same for every console. You can just copy the whole lot into a keys.txt file. I can't help you anymore than that due to forum rules.

I think this is all the proof I need.

Yup..! Thanks for trying it out @suzsuzuki . We knew it would probably happen but, had it not, it would have been a huge thing indeed. Thanks again for your sacrifice!
Oh, but rereading your post, it might have been the OFW thing that caused the ban. It's a shame that happened...
 
Last edited by PsychOsmosis,

gnilwob

Well-Known Member
Member
Joined
Mar 16, 2008
Messages
204
Trophies
1
XP
645
Country
Hong Kong
The only thing that's weird is the two squirrel issue, which might be related to the DLC issue, but I can't know for sure unless you screenshot the window with the squirrels during the process (as opposed to the nsp info, as it looks fine), you can add pauses to make it easier to sceenshot (as described in the OP).
I know you don't plan on installing the update anymore, but if you could process it anyway and delete it right after, this might be the key to understanding this.
But it might also not be related and it's just a 6.0 issue.

Please refer to 1 2 3 4 png accordingly.

The input NSP file got deleted, the extracted files were left behind.
There is no new nsp output file after 3rd pause.

EDIT: add echo on just before 3rd process:
C:\Windows>cd /d "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]"

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>del *.tik

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>del *.cert

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>cd /d "E:\nut-master\"

E:\nut-master>del "Hollow Knight [UPD][0100633007d48800][v131072].nsp"

E:\nut-master>cd /d "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]"

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>set /a n=0

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>setlocal ENABLEDELAYEDEXPANSION

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>for %i in (*) do (
set /a n=n+1
set files!n!=%i
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=097e8e3b3559763f0f2ea50c7cb3a942.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=0f754e7eaa6140fec27a9ea6380e174c.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=124b25381955d86dac6c435d58cd98f2.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=1a7a9f9a6e5788d3f3f00352e674dd4d.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=267541c184795f0f544640c686e67111.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=2fb641483de6088f7a0c27ddedb9a0c6.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=36c9bcdee79343c1f9d2c06c34a01a0c.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=5ba269552fbfb01085f569247d00ee24.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=675841cb7d431b8d9acea2db5a78b3b3.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=6dcc85feea2ad5009d1c794e0c4aa27f.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=712bf4d29cd8c9e1fac385d3a2242c35.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=7836895856d20b3449ec46f12a57838f.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=93ccab934f242bf186e1ffc6d716eff2.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=a7a10532b5648d711e24575d4f8f201e.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=b60a543ccbbacf8598340cb67f09ee71.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=e4131ab9b9f93d54042d525bf0af1e89.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=e417ac94cc07a3e1eeebb1110a72abfe.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=e6c80318f9ce594322851e8e7f6e5698.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=ee7b950ef102d7ae423c1abc53ac95ae.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>(
set /a n=n+1
set files!n!=fbe341ca67f9eb6bd8bc80b9614c816e.nca
)

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 3 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 4 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 5 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 6 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 7 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 8 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 9 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 10 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 11 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 12 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\6dcc85feea2ad5009d1c794e0c4aa27f.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 13 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\6dcc85feea2ad5009d1c794e0c4aa27f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\712bf4d29cd8c9e1fac385d3a2242c35.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 14 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\6dcc85feea2ad5009d1c794e0c4aa27f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\712bf4d29cd8c9e1fac385d3a2242c35.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\7836895856d20b3449ec46f12a57838f.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 15 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\6dcc85feea2ad5009d1c794e0c4aa27f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\712bf4d29cd8c9e1fac385d3a2242c35.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\7836895856d20b3449ec46f12a57838f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\93ccab934f242bf186e1ffc6d716eff2.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>if !n! == 16 ("C:\Windows\py.exe" "E:\nut-master\\nut.py" -c "Hollow Knight [UPD][0100633007d48800][v131072].nsp" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\097e8e3b3559763f0f2ea50c7cb3a942.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\0f754e7eaa6140fec27a9ea6380e174c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\124b25381955d86dac6c435d58cd98f2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\1a7a9f9a6e5788d3f3f00352e674dd4d.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\22d4199c85d1f7bda6797736c8ab99d3.cnmt.xml" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\267541c184795f0f544640c686e67111.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\2fb641483de6088f7a0c27ddedb9a0c6.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\36c9bcdee79343c1f9d2c06c34a01a0c.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\5ba269552fbfb01085f569247d00ee24.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\675841cb7d431b8d9acea2db5a78b3b3.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\6dcc85feea2ad5009d1c794e0c4aa27f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\712bf4d29cd8c9e1fac385d3a2242c35.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\7836895856d20b3449ec46f12a57838f.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\93ccab934f242bf186e1ffc6d716eff2.nca" "E:\nut-master\\Hollow Knight [UPD][0100633007d48800][v131072]\a7a10532b5648d711e24575d4f8f201e.nca" )

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>endlocal

E:\nut-master\Hollow Knight [UPD][0100633007d48800][v131072]>pause
Press any key to continue . . .

I can upload the file to you if it helps.


For DLC test, I have not done it, sorry >___<
 

Attachments

  • 4.png
    4.png
    18.4 KB · Views: 142
  • 3.png
    3.png
    18.6 KB · Views: 217
  • 2.png
    2.png
    17.8 KB · Views: 225
  • 1.png
    1.png
    8 KB · Views: 200
Last edited by gnilwob,

datnodude

Active Member
Newcomer
Joined
Jul 6, 2018
Messages
40
Trophies
0
XP
302
Country
United States
thanks,
Looking at this, everything should work fine. It seems the files were processed correctly.
My guess is it must be related to the new 6.0 anti-piracy firmware.

The only thing that's weird is the two squirrel issue, which might be related to the DLC issue, but I can't know for sure unless you screenshot the window with the squirrels during the process (as opposed to the nsp info, as it looks fine), you can add pauses to make it easier to sceenshot (as described in the OP).
I know you don't plan on installing the update anymore, but if you could process it anyway and delete it right after, this might be the key to understanding this.
But it might also not be related and it's just a 6.0 issue.



You're missing at least one of the keys required in your keys.txt, namely aes_kek_generation_source. The method you used probably doesn't dump that one.
Honestly, it's really easy to just google it, as the keys are the same for every console. You can just copy the whole lot into a keys.txt file. I can't help you anymore than that due to forum rules.



Yup..! Thanks for trying it out @suzsuzuki . We knew it would probably happen but, had it not, it would have been a huge thing indeed. Thanks again for your sacrifice!
Oh, but rereading your post, it might have been the OFW thing that caused the ban. It's a shame that happened...

thank you
 

suzsuzuki

Well-Known Member
Member
Joined
Aug 25, 2016
Messages
403
Trophies
0
Age
36
XP
471
Country
Brazil
I think this is all the proof I need.
Yup..! Thanks for trying it out @suzsuzuki . We knew it would probably happen but, had it not, it would have been a huge thing indeed. Thanks again for your sacrifice!
Oh, but rereading your post, it might have been the OFW thing that caused the ban. It's a shame that happened...

Great hope this lead to a way to play online on CFW. I have 2x NS that's why I don't care if I'm banned in one of them. Now the other one I will take care till the community find a method to play safely online on CFW.
 

Bigjokker

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
98
Trophies
0
Age
47
XP
356
Country
United States
Please refer to 1 2 3 4 png accordingly.
The input NSP file got deleted, the extracted files were left behind.
There is no new nsp output file after 3rd pause.
EDIT: add echo on just before 3rd process:
I can upload the file to you if it helps.
For DLC test, I have not done it, sorry >___<

Looks like your DLC NSP has more than the 16 files in it that the batch can handle. To fix add more lines to the end of the bat to at least 25.

Add this under the last bracket but before the endlocal
Code:
if !n! == 17 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%"
)
if !n! == 18 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%"
)
if !n! == 19 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%"
)
if !n! == 20 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%"
)
if !n! == 21 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%"  "%nutpy%\%filenam%\%files21%"
)
if !n! == 22 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%"  "%nutpy%\%filenam%\%files21%"  "%nutpy%\%filenam%\%files22%"
)
if !n! == 23 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%"  "%nutpy%\%filenam%\%files21%"  "%nutpy%\%filenam%\%files22%"  "%nutpy%\%filenam%\%files23%"
)
if !n! == 24 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%" "%nutpy%\%filenam%\%files21%"  "%nutpy%\%filenam%\%files22%"  "%nutpy%\%filenam%\%files23%" "%nutpy%\%filenam%\%files24%"
)
if !n! == 25 (
   "C:\Windows\py.exe" "%nutpy%\nut.py" -c "%filenam%.nsp" "%nutpy%\%filenam%\%files1%" "%nutpy%\%filenam%\%files2%" "%nutpy%\%filenam%\%files3%" "%nutpy%\%filenam%\%files4%" "%nutpy%\%filenam%\%files5%" "%nutpy%\%filenam%\%files6%" "%nutpy%\%filenam%\%files7%" "%nutpy%\%filenam%\%files8%" "%nutpy%\%filenam%\%files9%" "%nutpy%\%filenam%\%files10%" "%nutpy%\%filenam%\%files11%" "%nutpy%\%filenam%\%files12%" "%nutpy%\%filenam%\%files13%" "%nutpy%\%filenam%\%files14%" "%nutpy%\%filenam%\%files15%" "%nutpy%\%filenam%\%files16%" "%nutpy%\%filenam%\%files17%" "%nutpy%\%filenam%\%files18%" "%nutpy%\%filenam%\%files19%" "%nutpy%\%filenam%\%files20%" "%nutpy%\%filenam%\%files21%"  "%nutpy%\%filenam%\%files22%"  "%nutpy%\%filenam%\%files23%" "%nutpy%\%filenam%\%files24%" "%nutpy%\%filenam%\%files25%"
)
 
Last edited by Bigjokker,

gnilwob

Well-Known Member
Member
Joined
Mar 16, 2008
Messages
204
Trophies
1
XP
645
Country
Hong Kong
Looks like your DLC NSP has more than the 16 files in it that the batch can handle. To fix add more lines to the end of the bat to at least 25.

Thanks a lot.
After I modified the batch script. It is now working properly for this NSP file.



So back to the main issue that BASE + UPDATE + DLC does not work but BASE + UPDATE works on switch 6.0 + SX 1.9
 

Bigjokker

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
98
Trophies
0
Age
47
XP
356
Country
United States
Can you modify the Script you made to fix this please? @Bigjokker ?

This one will handle NSPs containing up to 30 files and if it has more it will tell you it can't be processed.

Also as I updated in the other post you need to replace hactool in "bin" folder with this build. As that build does not post files to console when there is more than 15. Otherwise it will tell
you it is missing tik file. This is needed to find the titleId.
 

Attachments

  • Batch_O_Nuts.rar
    1.4 KB · Views: 211
  • hactool.rar
    190.9 KB · Views: 199
Last edited by Bigjokker,

huma_dawii

Well-Known Member
Member
Joined
Apr 3, 2014
Messages
3,880
Trophies
2
Age
33
Location
Planet Earth
XP
4,271
Country
United States
This one will handle NSPs containing up to 30 files and if it has more it will tell you it can't be processed.

Also as I updated in the other post you need to replace hactool in "bin" folder with this build. As that build does not post files to console when there is more than 15. Otherwise it will tell
you it is missing tik file. This is needed to find the titleId.

Done!, Awesome thanks dude! :D
 

PsychOsmosis

Well-Known Member
OP
Newcomer
Joined
Jan 18, 2016
Messages
99
Trophies
0
XP
592
Country
Canada
Thanks a lot.
After I modified the batch script. It is now working properly for this NSP file.

Edited the OP to support up to 25 files. I didn't know they made NSPs with that many files, I thought 16 was overkill! Oh well! :D

So back to the main issue that BASE + UPDATE + DLC does not work but BASE + UPDATE works on switch 6.0 + SX 1.9

I can't do much about this I'm afraid. Either the DLC is corrupted, or 6.0 has piracy countermeasures that prevent this method being used for DLCs.

The three things you could try are :
1) Try installing a DLC for another game to see if it works.
2) Find the same DLC that's not working from another source and try this one.
2) Downgrade to 5.1.0 if you used ChoidujourNX to prevent fuses being burned.

Number 1 would help understand why this is happening, Number 2 would rule out the corrupted NSP theory and Number 3 would probably fix your issue and confirm that it's indeed a 6.0 piracy countermeasure.
 

BASgamer

Well-Known Member
Member
Joined
Sep 15, 2009
Messages
156
Trophies
1
XP
2,106
Country
United States
Thanks a lot.
After I modified the batch script. It is now working properly for this NSP file.



So back to the main issue that BASE + UPDATE + DLC does not work but BASE + UPDATE works on switch 6.0 + SX 1.9

It may be an issue with the update not being recent enough? As in it wasnt coded to handle the dlc think this was an issue with xenoblade 2 and the torna dlc
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    The Real Jdbye @ The Real Jdbye: never had one before that, and never had one since