NULL

RELEASE NSC_Builder. Nintendo Switch Cleaner and Builder. (Game+updates+dlc in a single xci)

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by JRoad, Nov 4, 2018.

  1. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    A game xci doesn't have titlerights. CDN NSP files of course have titlerights XD and not all nca in a nsp file have titlerights.
    The program is not removing them from the base in update mode. At the time I had reasons for that.

    So you can verify your theory try extracting a update "program" nca without inputting the titlekey. Use fakebase if so you don't need the base game program nca to extract. You'll see how they have titlerights.

    One thing is for them to use a proper ticket wich you can get from the CDN without buying anything and other is for them to not use titlerights crypto.
     
  2. Idontknowwhattoputhere

    Idontknowwhattoputhere See i would put something here if i knew what to

    Member
    4
    Jan 19, 2019
    United Kingdom
    Am i the only person to have this kind of error?

    — Posts automatically merged - Please don't double post! —

    I just tried having both the updates as xci's didn't work
    Same with nsps

    — Posts automatically merged - Please don't double post! —
     
  3. NANASHI89

    NANASHI89 GBAtemp Addict

    Member
    10
    May 3, 2012
    United States
    Why are some of my NSPs and XCIs showing up as blank icons on SX OS? They won't even appear on the Switch Home Menu, after loading.
     
  4. mariooooooooo

    mariooooooooo Newbie

    Newcomer
    1
    Feb 24, 2019
    France
    I get a lot of those errors when converting multi nsp to xci

    Code:
                       ,;:;;,
                      ;;;;;
              .=',    ;:;;:,
             /_', "=. ';:;:;
             @=:__,  \,;:;:'
               _(\.=  ;:;;'
              `"_(  _/="`
               `"'
    Exception: Not a valid PFS0 partition b'$\x00\xe02'
    DONE
    
       /@
       \ \
     ___\ \
    (__O)  \
    (____@) \
    (____@)  \
    (__o)_    \
          \    \
    
    HOPE YOU HAVE A FUN TIME
    Too many arguments in command line.
    Does someone know how to fix it ? Thanks
     
  5. FreePlay

    FreePlay Newbie

    Newcomer
    1
    Jun 20, 2006
    United States
    I never get beyond an "Index out of range" exception immediately after the squirrel ASCII art. I've redumped my keys several times and verified them against random ones I found online, so I know I have a good dump. This program simply never properly decrypts the NSPs I throw at it - even when I rename them to "test.nsp", so I know it's not the file name. I'm kind of at a loss here.
     
  6. mariooooooooo

    mariooooooooo Newbie

    Newcomer
    1
    Feb 24, 2019
    France
    Downloading on Mac seems to be the problem ... I downloaded the nsp files directly on PC and everything worked fine =D
     
  7. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    Weird, did those work in your console? Seems like a messed up header.

    Do you have the masterkeys till masterkey6?
     
  8. FreePlay

    FreePlay Newbie

    Newcomer
    1
    Jun 20, 2006
    United States
    Yep, I used the latest biskeydumper, hekate_ctcaer, and a modified fusee-secondary for Atmosphere to get everything. They match up with what I found online.
     
  9. lordelan

    lordelan GBAtemp Psycho!

    Member
    11
    Jan 4, 2015
    Germany
    @JRoad
    I've got something odd. A game that says Version: 0 but Build number: 1.405:

    12 orbits [0100A840047C2000][Base Game][v0][1.405]-content

    Along with it I've got an 12 orbits [0100A840047C2800][Update][v65536][1.456].nsp so I wonder whether I would have to go with multi mode or update mode on this one. :)
     
  10. bostonBC

    bostonBC GBAtemp Maniac

    Member
    6
    Aug 17, 2011
    United States
    Haven't been able to get this to work at all... Tried the .79 and .8 versions. Using 3.72 version of Python which is the latest. .80 produces a 63 kb file, .79 produced a right size file but which failed to run under SX OS 2.5.3. Tried multiple games and updates with the same results.

    __ _ __ __
    ____ _____ ____ / /_ __ __(_) /___/ /__ _____
    / __ \/ ___/ ___/ / __ \/ / / / / / __ / _ \/ ___/
    / / / (__ ) /__ / /_/ / /_/ / / / /_/ / __/ /
    /_/ /_/____/\___/____/_.___/\__,_/_/_/\__,_/\___/_/
    /_____/
    -------------------------------------------------------------------------------------
    NINTENDO SWITCH CLEANER AND BUILDER
    (THE XCI MULTI CONTENT BUILDER AND MORE)
    -------------------------------------------------------------------------------------
    ============================= BY JULESONTHEROAD =============================
    -------------------------------------------------------------------------------------
    " POWERED BY SQUIRREL "
    " BASED IN THE WORK OF BLAWAR AND LUCA FRAGA "
    VERSION 0.80 (BETA)
    -------------------------------------------------------------------------------------
    Program's github: https://github.com/julesontheroad/NSC_BUILDER
    Blawar's github: https://github.com/blawar
    Blawar's tinfoil: https://github.com/digableinc/tinfoil
    Luca Fraga's github: https://github.com/LucaFraga
    -------------------------------------------------------------------------------------
    Processing F:\Nintendo Switch\XCI\English\Ultimate Runner.xci

    ------------------------------------
    Extracting secure partition from xci
    ------------------------------------
    XCI DOESN'T HAVE TITLERIGHTS
    Copying files:
    Copying: b882f79bb04c353b22672d2444922003.nca
    Copying: af11e016b388d41303ab9bb3f83389a0.nca
    Copying: e338f83c8b4c3b4ca66df3b361915722.nca
    Copying: d36d4328cd2b2557dceec23555a99e37.cnmt.nca
    DONE

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

    HOPE YOU HAVE A FUN TIME
    ...................................................
    STILL 1 FILES TO PROCESS
    ...................................................
    Processing F:\Nintendo Switch\Updates (NSP)\Ultimate Runner (Update v1.0.1).nsp

    ,;:;;,
    ;;;;;
    .=', ;:;;:,
    /_', "=. ';:;:;
    @=:__, \,;:;:'
    _(\.= ;:;;'
    `"_( _/="`
    `"'
    NSP HAS TITLERIGHTS AND TICKET EXISTS
    rightsId = 0x10045200a1c28000000000000000007
    titleKeyDec = b'914e2ed6d9fdc149e304e7c0b52ffea9'
    masterKeyRev = 0x7
    Copying files:

    -> Copying: 384814cd7e24bf3a3bcd9be62418e343.nca
    Removing titlerights for 384814cd7e24bf3a3bcd9be62418e343.nca
    Writing masterKeyRev for 384814cd7e24bf3a3bcd9be62418e343.nca, 7
    Exception: object of type 'NoneType' has no len()
    DONE

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

    HOPE YOU HAVE A FUN TIME
    ...................................................
    STILL 0 FILES TO PROCESS
    ...................................................
    -------------------------------
    Repacking as xci
    -------------------------------
    Generating XCI:

    - Writing XCI header...
    - Writing XCI game info...
    - Generating padding...
    - Writing XCI certificate...
    - Writing ROOT HFS0 header...
    - Writing UPDATE partition header...
    Calculated multiplier: 1
    - Writing NORMAL partition header...
    Calculated multiplier: 1
    - Writing SECURE partition header...
    Calculated multiplier: 2
    > Appending 384814cd7e24bf3a3bcd9be62418e343.nca
    0%| | 64.0k/136M [00:00<00:12, 10.7MB/s]Traceback (most recent call last):
    File "squirrel.py", line 2083, in <module>
    File "Fs\Xci.py", line 2079, in pack
    File "lib\aes128.py", line 312, in __init__
    TypeError: object of type 'NoneType' has no len()
    [812] Failed to execute script squirrel
    ---------------------------------------------------
    *********** ALL FILES WERE PROCESSED! *************
    ---------------------------------------------------​

    — Posts automatically merged - Please don't double post! —

    It seems to keep failing on the NSP with an error

    Exception: object of type 'NoneType' has no len()


    __ _ __ __
    ____ _____ ____ / /_ __ __(_) /___/ /__ _____
    / __ \/ ___/ ___/ / __ \/ / / / / / __ / _ \/ ___/
    / / / (__ ) /__ / /_/ / /_/ / / / /_/ / __/ /
    /_/ /_/____/\___/____/_.___/\__,_/_/_/\__,_/\___/_/
    /_____/
    -------------------------------------------------------------------------------------
    NINTENDO SWITCH CLEANER AND BUILDER
    (THE XCI MULTI CONTENT BUILDER AND MORE)
    -------------------------------------------------------------------------------------
    ============================= BY JULESONTHEROAD =============================
    -------------------------------------------------------------------------------------
    " POWERED BY SQUIRREL "
    " BASED IN THE WORK OF BLAWAR AND LUCA FRAGA "
    VERSION 0.80 (BETA)
    -------------------------------------------------------------------------------------
    Program's github: https://github.com/julesontheroad/NSC_BUILDER
    Blawar's github: https://github.com/blawar
    Blawar's tinfoil: https://github.com/digableinc/tinfoil
    Luca Fraga's github: https://github.com/LucaFraga
    -------------------------------------------------------------------------------------
    Processing F:\Nintendo Switch\XCI\English\Bass Pro Shops The Strike Championship Edition.xci

    ------------------------------------
    Extracting secure partition from xci
    ------------------------------------
    XCI DOESN'T HAVE TITLERIGHTS
    Copying files:
    Copying: 972cabb177d9e60db1216cb4cf22bf95.nca
    Copying: 56184f5c8f6ce6ce77e0d5b5e7e64582.nca
    Copying: 1a958c5f5e786587ea82b147548c731f.nca
    Copying: e21fb2563def64e5f84d9fc74f05fffb.nca
    Copying: 1e7bff2ffc5ad81148b77f6ac3b442e3.cnmt.nca
    DONE

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

    HOPE YOU HAVE A FUN TIME
    ...................................................
    STILL 1 FILES TO PROCESS
    ...................................................
    Processing G:\sxos\updates\Bass Pro Shops The Strike - Championship Edition (Upd. v1.0.3).nsp

    ,;:;;,
    ;;;;;
    .=', ;:;;:,
    /_', "=. ';:;:;
    @=:__, \,;:;:'
    _(\.= ;:;;'
    `"_( _/="`
    `"'
    NSP HAS TITLERIGHTS AND TICKET EXISTS
    rightsId = 0x100e3100450e8000000000000000005
    titleKeyDec = b'2416ed96677893c245288a57b0a2c8af'
    masterKeyRev = 0x5
    Copying files:

    -> Copying: 208ec3fbec46fbfc65bf6cca35dda149.nca

    -> Copying: 707fc87dc24a912aa847c23fc511e14d.nca

    -> Copying: 7634d78784b2d37ad86796d1ef41c810.nca

    -> Copying: 770e5d16d1ba524802b0a63a1910136d.nca

    -> Copying: 7cbf71ee4735353266b1e10c0eefb954.nca

    -> Copying: 7e0b7c9939adcba713295f3da3d58e11.nca

    -> Copying: 896ed5d0b25c80861cc69190d0a3973c.nca
    Removing titlerights for 896ed5d0b25c80861cc69190d0a3973c.nca
    Writing masterKeyRev for 896ed5d0b25c80861cc69190d0a3973c.nca, 5
    Exception: object of type 'NoneType' has no len()
    DONE

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

    HOPE YOU HAVE A FUN TIME
    ...................................................
    STILL 0 FILES TO PROCESS
    ...................................................
    -------------------------------
    Repacking as xci
    -------------------------------
    Generating XCI:

    - Writing XCI header...
    - Writing XCI game info...
    - Generating padding...
    - Writing XCI certificate...
    - Writing ROOT HFS0 header...
    - Writing UPDATE partition header...
    Calculated multiplier: 1
    - Writing NORMAL partition header...
    Calculated multiplier: 1
    - Writing SECURE partition header...
    Calculated multiplier: 3
    > Appending 1a958c5f5e786587ea82b147548c731f.nca
    > Appending 1e7bff2ffc5ad81148b77f6ac3b442e3.cnmt.nca
    > Appending 208ec3fbec46fbfc65bf6cca35dda149.nca
    7%|█████▌ | 91.1M/1.28G [00:00<00:02, 412MB/s]Traceback (most recent call last):
    File "squirrel.py", line 2083, in <module>
    File "Fs\Xci.py", line 2079, in pack
    File "lib\aes128.py", line 312, in __init__
    TypeError: object of type 'NoneType' has no len()
    [12076] Failed to execute script squirrel
    ---------------------------------------------------
    *********** ALL FILES WERE PROCESSED! *************
    ---------------------------------------------------​
     
  11. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    Completely normal. That's on the developer side. Diablo 3 came as 2.4. something, for example.

    — Posts automatically merged - Please don't double post! —

    You're missing the masterkey6. I'm making warnings and checkers for next release. Shouldn't take more than a few days for it if all goes well.
     
  12. lordelan

    lordelan GBAtemp Psycho!

    Member
    11
    Jan 4, 2015
    Germany
    So? Multi mode as usual, right?
     
  13. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    Yeah that one seems like it's only the update. It's probably reflecting the 2 version numbers because scene likes the one from the developer while the community likes the one that reflects the patch number.
     
    lordelan likes this.
  14. bostonBC

    bostonBC GBAtemp Maniac

    Member
    6
    Aug 17, 2011
    United States
    Ok thanks. I used the latest version of lockpick to extract the keys. I'll go looking for that one.
     
  15. bostonBC

    bostonBC GBAtemp Maniac

    Member
    6
    Aug 17, 2011
    United States
    Ok found 6 and it seems to finally be working.

    Has 7 been discovered yet?

    Some new titles can't be converted yet.
     
    Last edited by bostonBC, Feb 27, 2019
  16. HaiNguyen

    HaiNguyen Newbie

    Newcomer
    1
    Feb 28, 2019
    Vietnam
    Hello @JRoad,
    I use the last version v8.0-c.
    I want to update Trine Enchanted (base nsp and an update nsp) and get them into 1 xci file. But something happen when I chosse mode 1(put them into a folder and drag it) and 4 (update mode _ remove pre-update and dll).
    I don't see any error log. I can mount it but cannot launch successfull. (If I install nsp file to get 1 ticket, then delete this game and try to launch again. It's OK)

    Then I try with mode 2 after using SX Installer removed their ticket, It's OK. I bring the newest xci to try 1 or 4 mode again with the same update file. It's OK too.

    Can you explain what different of them ? mode 2 can launch without any ticket but mode 1 - 4 are not.
     
    Last edited by HaiNguyen, Feb 28, 2019
  17. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    Nothing is using masterkey7, they use RequiredSystemVersion=7.0 or 7.01 but are still encrypted with lower masterkeys. About the masterkey7, well publically ReSwitched put hashes but there is no simple know method to extract it yet
    Mode 4 doesn't remove the titlerights from the base game. I had a reason for that but I may change it since it's no longer relevant and a lot of people seem to like update mode.
    It was meant for you to first use multi-mode when you make your first multi-xci and then update mode when you need to update it.
     
    DaBlackDeath likes this.
  18. PT333

    PT333 Member

    Newcomer
    3
    Jul 19, 2018
    United States
    Is it possible to play 6.X base games on 5.X FW? If so, then how? I enabled RSV patching in config file, but I'm getting update nag when I try to run the game
     
  19. JRoad
    OP

    JRoad GBAtemp Advanced Fan

    Member
    6
    May 18, 2018
    Spain
    You're doing it in auto-mode if you enable that in the config file. For auto-mode you can also enable the keygeneration you want to autopatch to wich is 5 in this case. For manual mode it asks you before processing the files unless you modify that option.
    First you enter in keygeneration configuration.
    1.JPG

    Then you set keygeneration 5
    2.JPG

    That chages keygeneration to 5 if needed. Though it won't work in all games\updates, some seem to need at least FW6.0 and give an error at boot if launch from a lower firmware. Those are not many though.

    Also remember that your CFW needs to have the FS acid signature patch. ReiNX and SX OS have it from the get go and in atmophere you can incorporate it with the pack from the4n or by using this preconfigured pack:
    https://github.com/RShadowhand/singularite/releases/tag/1.1.3

    Unfortunately kosmos doesn't incorporate it, and you can't add it easily like you can in atmosphere if you use kosmos, unless you chainload the fusee primary in hekate (but if you do that you're using pure atmosphere to be honest).
     
    PT333 likes this.
  20. FragRot

    FragRot Member

    Newcomer
    1
    Nov 28, 2017
    Singapore
    Say if I convert a .nsp to .xci is the converted .xci will have the same 99.9% ban rate same as a .nsp or would it be lower same as a .xci?
     
Loading...