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.

Loading...
  1. 18Phoenix

    18Phoenix GBAtemp Advanced Fan

    Member
    6
    Nov 21, 2005
    Germany
    Splitting with out apps work, so the fault is with NSCB.
    So I formated my SD card for nothing.
    More later, university is calling :)
     
  2. pcwizard7

    pcwizard7 GBAtemp Advanced Fan

    Member
    4
    Aug 2, 2013
    Australia
    I don't think it works outside of sxos? were u in atmos?

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

    I think his getting what happen to me but if i combine them first. then patch and split the combined file it work fine. so reset your auto mode and make a non-split version and then patch and split that
     
  3. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    No, in SX OS. And yes it won't work on Atmos.

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

    Dunno it worked for me when I tried yesterday. Tell me later where the difference lies and I'll check. In NSCB case the splitter is embedded in the process of converting in direct modes, that's why it gave issues before and worked better in the legacy modes, being those nca processed already. Still the games I tested worked fine so no idea if I broke it again in some way.
    Still if after joinint back the files they verify fine the splitting should've been ok and it should work, unless is a split size thing but it shouldn't.
     
    Last edited by JRoad, Nov 5, 2019
  4. 18Phoenix

    18Phoenix GBAtemp Advanced Fan

    Member
    6
    Nov 21, 2005
    Germany
    For splitting I just set FAT32\EXFAT options (9) to FAT32 for SX OS (2), then I built a split XCI using MULTI-PACK mode (2).
    Using the file-joiner (7) results in a bad XCI:
    Checking it by verifying shows program and manual nca as modified, hash test says both are corrupt.
    Instead of NSCB I tried to split with SAK (never used and heard of before), that has worked fine.
     
    Last edited by 18Phoenix, Nov 5, 2019
  5. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    OK, it splitted badly then. Tell me one of the games for me to check, is weird because it seems to be making them fine to me.
    Also the fat32 splitter works differently in every mode, in legacy ones too. Tell me how you did it:
    - Did you used the mode 1 to split a xci?
    - Did you use mode 2?
    - If you used mode 2 tell me the files you used as input.

    Basically all the information you can give me will help me to find the issue at this point.
     
  6. 18Phoenix

    18Phoenix GBAtemp Advanced Fan

    Member
    6
    Nov 21, 2005
    Germany
    For splitting I just set FAT32\EXFAT options (9) to FAT32 for SX OS (2), then I built a split XCI using MULTI-PACK mode (2).
    My source XCI was Luigi's M3 including the UPD, verified good, built with NSCB.
     
    Last edited by 18Phoenix, Nov 5, 2019
  7. Puppydogpals

    Puppydogpals GBAtemp Regular

    Member
    5
    Feb 19, 2018
    United Kingdom
    why would this not verify, is it something to be worried about maybe, could it be because it was a xci converted to an nsp. 3 different nsp from same source (safe source as far as I can tell) report like this


    DECRIPTION TEST:

    0100DDB00DB38000 - Content.PROGRAM eed3fb1d3d93d4afe28dd5adf9eae3a0.nca -> is CORRECT
    0100DDB00DB38000 - Content.CONTROL 9e5d1d81c7ec2d7e5b6245ad0da12799.nca -> is CORRECT
    0100DDB00DB38000 - Content.MANUAL 031b99936a3c3950c6d33c94126ba690.nca -> is CORRECT
    0100DDB00DB38000 - Content.MANUAL e8ad4e468fa2f44e4ef39f38e542e3f3.nca -> is CORRECT
    0100DDB00DB38000 - Content.META 4d7065cae83db4766c44fe6b71e01d13.cnmt.nca -> is CORRECT
    VERDICT: NSP FILE IS CORRECT

    SIGNATURE 1 TEST:

    0100DDB00DB38000 - Content.PROGRAM > eed3fb1d3d93d4afe28dd5adf9eae3a0.nca -> was MODIFIED
    * NOT VERIFIABLE!!!

    0100DDB00DB38000 - Content.CONTROL > 9e5d1d81c7ec2d7e5b6245ad0da12799.nca -> is PROPER
    * ISGAMECARD WAS CHANGED FROM 1 TO 0

    0100DDB00DB38000 - Content.MANUAL > 031b99936a3c3950c6d33c94126ba690.nca -> is PROPER
    * ISGAMECARD WAS CHANGED FROM 1 TO 0

    0100DDB00DB38000 - Content.MANUAL > e8ad4e468fa2f44e4ef39f38e542e3f3.nca -> is PROPER
    * ISGAMECARD WAS CHANGED FROM 1 TO 0

    0100DDB00DB38000 - Content.META > 4d7065cae83db4766c44fe6b71e01d13.cnmt.nca -> needs RSV check
    * CHECKING INTERNAL HASHES
    - PFS0 hash is CORRECT -
    HASH TABLE hash is CORRECT
    - HEADER BLOCK hash is CORRECT
    * INTERNAL HASHES MATCH > 4d7065cae83db4766c44fe6b71e01d13.cnmt.nca -> was MODIFIED

    * NOT VERIFIABLE!!! VERDICT: NSP FILE COULD'VE BEEN TAMPERED WITH
     
  8. 133mhz

    133mhz Member

    Newcomer
    3
    Feb 5, 2018
    United Kingdom
    sorry to ask this but what is SAK? is it a tool to split xci?


    Sent from my iPhone using Tapatalk
     
  9. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    4nxci and RenXpack files aren't verifiable\restorable, this is because they change signatures, which is something that was added so acid patches weren't needed. Right now hekate can patch it which was the only cfw payload\booter that didn't enable it, and kosmos recommended patches include that patch, so no need to keep modfying that onfile.
    Currently it redoes the signature2 public and private pair. The issue here is you need to redo the internal hashes so the header changes and signature1 won't be able to match with the header.
    Signature1 is really important because unlike signature2 that has the public rsa pair you use to verify it stored in the npdm section (which allow to create a new public key) has the ublic key on the switch itself. Also only program ncas has signature2.
    Ok so all nca have the signature1. This is a rsa signature which is made with a public and private key pair. The public key is in the console and in NSCB code, this allow to verify the signature. The signature is made using the private key to sign the header, the private key is only known by Nintendo and since is a rsa key you'll need many years or compute power to figure it out.
    This means it will tell you if the content is legit since only Nintendo can sign it and any modification will made the signature not to match.
    Now how NSCB matches it against it's modifications? Basically i restore the header, i can figure out keygeneration changes, isgamecard changes, titlerights removval, and rsv changes because they're small changes so i can make some iterations to figure out the original state.
    That's why it tells you titlerights were removed, keygeneration was changed from A to B, etc... So basically is a way to know your content is fully secure and a way to know is restorable. The restoration mode uses the same concept and restore back the ncas to it's original state.
    It will happen the same with unlockers and hacpack ncas since they're files made by the community.
    Now it does't mean those files are bricks, just that they can't be verified. If you make them yourself you don't have to worry, same as if you trust who made them but only the first test level will work with them.

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

    Ok, i'll test and see what can be the issue. Truth be told multimode is the trickiest for this since it takes several inputs and goes nca by nca, is kinda the function that has more complex code. My guess is the file wasn't properly written at the split point which something that happened before with that function in particular but was supposedly fixed some versions ago. I thought you were splitting already made cxci with the mode 1.
     
    Last edited by JRoad, Nov 5, 2019
    Puppydogpals likes this.
  10. 18Phoenix

    18Phoenix GBAtemp Advanced Fan

    Member
    6
    Nov 21, 2005
    Germany
    No, I always use mode 2. I tried mode 1 now, that works for splitting, yes.
     
  11. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    I forgot
    Ok, so something is broken in two under x conditions. Weird it worked for me yesterday. Well I have to take a look anyway to add support for nsz\xcz.
     
  12. 18Phoenix

    18Phoenix GBAtemp Advanced Fan

    Member
    6
    Nov 21, 2005
    Germany
    Mode 1 is usless for me because it keeps UPD & DLCs seperate, that's never wanted for me.
    I want to have a joined (incl. UPD + DLCs) AND splitted XCI.
    Isn't that possible in one step ? Must I first generate the combined XCI, then splitting it in a second procedure ?
     
  13. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    You can try using legacy for now. Was the mode i had set up when someone used fat32.
     
  14. markmcrobie

    markmcrobie GBAtemp Advanced Fan

    Member
    6
    May 24, 2008
    Yeah I'd like a mode that accepts xc0 > adds updates/dlc > outputs xc0. it's a pain having to manually join xc0, xc1, etc back into xci before running through mode 2
     
  15. Puppydogpals

    Puppydogpals GBAtemp Regular

    Member
    5
    Feb 19, 2018
    United Kingdom
    Thanks for the info.. . That's makes sense.

    Sent from my SM-G965F using Tapatalk
     
  16. Zer151

    Zer151 Member

    Newcomer
    2
    Aug 14, 2015
    Thailand

    Thank for answer , before I process I have try to check the file list by press command “I” they show the file but it still come out with nothing, sometime it’s produced 2mb.xci
     
    Last edited by Zer151, Nov 5, 2019
  17. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    check your keys with the mode 0 "configuration", and be sure you have master_key_09 since games and updates are using it now.
     
  18. Zer151

    Zer151 Member

    Newcomer
    2
    Aug 14, 2015
    Thailand
    thank again , I’m very newbie to use the program may be is my fault , I just watch the video on YouTube and download everything from them included the key.txt, but I’m actually don’t know where to get the right key.txt with master_key_09 configuration.
     
  19. JRoad
    OP

    JRoad Developer

    pip Developer
    8
    May 18, 2018
    Spain
    If you're on latest firmware you can use lockpick_rcm. It also works with emunand:
    https://github.com/shchmue/Lockpick_RCM/releases
     
    gizmomelb likes this.
  20. Zer151

    Zer151 Member

    Newcomer
    2
    Aug 14, 2015
    Thailand
    Last edited by Zer151, Nov 6, 2019
Quick Reply
Draft saved Draft deleted
Loading...