Hacking Sigpatches for Atmosphere (Hekate, fss0, fusee & package3)

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,674
Trophies
3
Age
46
Location
At my chair.
XP
19,922
Country
Colombia
Just like I told you, but thanks for diving deeper.

Anyway I would really like if someone could talk with him and ask if there's some kind of atmosphere setting or hekate setting to bypass the FW...

That's why I keep using fusee and only need to upgrade FW in like years usually.
you can create a issue on the Hekate's GitHub repo.
 
  • Like
Reactions: Blythe93

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
372
Trophies
0
XP
333
Country
United States
I know why, actually. Because fusee explicitly derives all master keys and always uses the latest available master key regardless of firmware. Because exosphere supports just using latest master key regardless of firmware, so you end up being able to run software encrypted with the latest master keys even if the firmware you're running doesn't natively include them

https://github.com/Atmosphere-NX/At...06befa2d3957ef74a37120f3f39749b5f12d5d5213028

This comment that I remember seeing before sheds some light on this

https://github.com/Atmosphere-NX/At...8e6c6a549ca894278f6fac0cd1e6d66235e3705e1cL85

Hekate doesn't do this, instead it does it more "cleanly" (read: more faithful to official nintendo bootloader) by only loading what is officially supported by that firmware version. I guess scires was just lazy and took shortcuts in programming, because it's so much easier and less complicated programming to just hardcode in the latest master key sources and guarantee all firmware versions will work, than to make it check firmware version and derive master key based on firmware version (the code in hekate gets pretty complicated here, where fusee just says "here's the latest master key, enjoy")

I withdraw my objections and my apologies to @guily6669 for the pushback. I had a bias against you because of other stuff I saw from you in the past and just assumed you were wrong, without taking the time to check anything. That's on me

That being said I don't recommend relying on this, because it will only get you so far. You might be able to run games that want higher master key, but there will be a point where games will just fail to work and it won't be clear why. You can't spoof sdk version, if a game was built for a newer sdk version and uses functions only present in newer firmware, it will appear to install and run fine, and it will verify fine for corrupted data, but it will malfunction and likely crash during gameplay without really anything to indicate why (while if you run through hekate, installers won't be able to install anything too new because of master keys, so you can just rely on that to know if it installs = it will work)

Also I wouldnt make an issue on hekate repo, there is no bug and everything is working as it should. Fusee just takes shortcuts while hekate took the time to do it "correctly", to "fix" this would require scrapping all that code in hekate and replacing it with what is essentially a hack, and that's just not going to happen
 
Last edited by 4d1xlaan,

petspeed

Well-Known Member
Member
Joined
Nov 13, 2009
Messages
1,165
Trophies
1
Age
49
XP
1,812
Country
Denmark
Well I just made this test:

Console V1 unpatched, FW 18.1.0, SYS-Patch 1.5.2, Hekate 6.2.0 booting via FSS0: Everything working fine.

Removed themes and downgraded to FW 15.0.0


Starting using official Fusee commit-e85bc4d directly: Everything works fine

Starting using official Fusee commit-e85bc4d modded to re enable FS patching directly: Everything works fine

Starting Atmosphère commit e85bc4d vía Hekate 6.2.0 using FSS0 package3 loading: Error reading the game, corrupted files

Starting Atmosphère commit e85bc4d vía Hekate 6.2.0 using FSS0 package3 loading AND REMOVING kip1patch=nosigchk from Hekate_ipl.ini: Error reading the game, corrupted files

Trying to reinstall the game:

View attachment 442479

Sadly I don't think CTCaer will Help us about this because he is very strong to be against Piracy and that is only needed on piracy.

reupgrading to FW18 everything works fine, even the installation:
View attachment 442480
That's strange. I use fusee.bin directly as payload and on FW16 I was not able to install Mario Vs Donkey Kong and Super Mario Wonder v1.01 update with DBI. It said something about nca version too low.
Is there a setting I need to change in DBI? Or do I need to update sigpatches to the level the game require even though I am on a lower firmware?
After updating to FW17 both installed fine.
 

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
372
Trophies
0
XP
333
Country
United States
That's strange. I use fusee.bin directly as payload and on FW16 I was not able to install Mario Vs Donkey Kong and Super Mario Wonder v1.01 update with DBI. It said something about nca version too low.
Is there a setting I need to change in DBI? Or do I need to update sigpatches to the level the game require even though I am on a lower firmware?
After updating to FW17 both installed fine.
The plot thickens

Then perhaps I was wrong in my interpretation of the code, but if it worked for impeeza then guily is onto something, still

tbh dbi is probably a special case where it derives keys separately on its own depending on firmware version, instead of getting them from exosphere. but dbi will also read external keys dumped with lockpick

So, try dumping keys with latest lockpick, and leave the files in /switch/ folder, and then try again

https://github.com/rashevskyv/dbi/issues/248#issuecomment-1638003182
 
Last edited by 4d1xlaan,
  • Like
Reactions: HenryBaby

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,823
Trophies
2
Age
48
Location
Japan
XP
3,767
Country
United States
@impeeza
DBI doesn’t have an ignore firmware option, so of course you can’t install it. Then again, I’m not even sure why we’re entertaining this. There’s absolutely no reason not to just update.

But yea… install with tinfoil and the ignore firmware checked. It’ll still not work right if the game uses functionality that doesn’t exist in the older firmware though.

Assuming here that you have latest keys on the card dumped with lockpick, even after downgrading.
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,674
Trophies
3
Age
46
Location
At my chair.
XP
19,922
Country
Colombia
I know why, actually. Because fusee explicitly derives all masker keys and always uses the latest available master key regardless of firmware. Because exosphere supports just using latest master key regardless of firmware, so you end up being able to run software encrypted with the latest master keys even if the firmware you're running doesn't natively include them

https://github.com/Atmosphere-NX/At...06befa2d3957ef74a37120f3f39749b5f12d5d5213028

This comment that I remember seeing before sheds some light on this

https://github.com/Atmosphere-NX/At...8e6c6a549ca894278f6fac0cd1e6d66235e3705e1cL85

Hekate doesn't do this, instead it does it more "cleanly" (read: more faithful to official nintendo bootloader) by only loading what is officially supported by that firmware version. I guess scires was just lazy and took shortcuts in programming, because it's so much easier and less complicated programming to just hardcode in the latest master key sources and guarantee all firmware versions will work, than to make it check firmware version and derive master key based on firmware version (the code in hekate gets pretty complicated here, where fusee just says "here's the latest master key, enjoy")

I withdraw my objections and my apologies to @guily6669 for the pushback. I had a bias against you because of other stuff I saw from you in the past and just assumed you were wrong, without taking the time to check anything. That's on me

That being said I don't recommend relying on this, because it will only get you so far. You might be able to run games that want higher master key, but there will be a point where games will just fail to work and it won't be clear why. You can't spoof sdk version, if a game was built for a newer sdk version and uses functions only present in newer firmware, it will appear to install and run fine, and it will verify fine for corrupted data, but it will malfunction and likely crash during gameplay without really anything to indicate why (while if you run through hekate, installers won't be able to install anything too new because of master keys, so you can just rely on that to know if it installs = it will work)

Also I wouldnt make an issue on hekate repo, there is no bug and everything is working as it should. Fusee just takes shortcuts while hekate took the time to do it "correctly", to "fix" this would require scrapping all that code in hekate and replacing it with what is essentially a hack, and that's just not going to happen
No lazy, just do NOT include any big N copyrighted material on the code.
 

guily6669

GbaTemp is my Drug
Member
Joined
Jun 3, 2013
Messages
2,381
Trophies
1
Age
34
Location
Doomed Island
XP
2,191
Country
United States
I know why, actually. Because fusee explicitly derives all masker keys and always uses the latest available master key regardless of firmware. Because exosphere supports just using latest master key regardless of firmware, so you end up being able to run software encrypted with the latest master keys even if the firmware you're running doesn't natively include them

https://github.com/Atmosphere-NX/At...06befa2d3957ef74a37120f3f39749b5f12d5d5213028

This comment that I remember seeing before sheds some light on this

https://github.com/Atmosphere-NX/At...8e6c6a549ca894278f6fac0cd1e6d66235e3705e1cL85

Hekate doesn't do this, instead it does it more "cleanly" (read: more faithful to official nintendo bootloader) by only loading what is officially supported by that firmware version. I guess scires was just lazy and took shortcuts in programming, because it's so much easier and less complicated programming to just hardcode in the latest master key sources and guarantee all firmware versions will work, than to make it check firmware version and derive master key based on firmware version (the code in hekate gets pretty complicated here, where fusee just says "here's the latest master key, enjoy")

I withdraw my objections and my apologies to @guily6669 for the pushback. I had a bias against you because of other stuff I saw from you in the past and just assumed you were wrong, without taking the time to check anything. That's on me

That being said I don't recommend relying on this, because it will only get you so far. You might be able to run games that want higher master key, but there will be a point where games will just fail to work and it won't be clear why. You can't spoof sdk version, if a game was built for a newer sdk version and uses functions only present in newer firmware, it will appear to install and run fine, and it will verify fine for corrupted data, but it will malfunction and likely crash during gameplay without really anything to indicate why (while if you run through hekate, installers won't be able to install anything too new because of master keys, so you can just rely on that to know if it installs = it will work)

Also I wouldnt make an issue on hekate repo, there is no bug and everything is working as it should. Fusee just takes shortcuts while hekate took the time to do it "correctly", to "fix" this would require scrapping all that code in hekate and replacing it with what is essentially a hack, and that's just not going to happen
thanks for the info, but I have been using fusee with many FW below required and never had problems and the games run exactly the same as after updating with 0 crashes, glitches or worse performance, but yeah I believe it's a possibility.

But like I said there's always a point we need to update firmware or the game simply doesn't start but it's usually many FW up and by that point it's likely atmosphere more than supports it and everything else has been also updated long ago...

I like how atmosphere does that B-)
 
  • Like
Reactions: impeeza

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,823
Trophies
2
Age
48
Location
Japan
XP
3,767
Country
United States
So, in light of the key derivation thing between fusee and hekate, you can STILL make lower fw games work with hekate. With tinfoil. It not only has the ignore firmware option, but also the convert to standard crypto option. This will lower the master key requirement. Use both, and you shouldn't get the corrupted file problem.
 
  • Like
Reactions: guily6669

guily6669

GbaTemp is my Drug
Member
Joined
Jun 3, 2013
Messages
2,381
Trophies
1
Age
34
Location
Doomed Island
XP
2,191
Country
United States
So, in light of the key derivation thing between fusee and hekate, you can STILL make lower fw games work with hekate. With tinfoil. It not only has the ignore firmware option, but also the convert to standard crypto option. This will lower the master key requirement. Use both, and you shouldn't get the corrupted file problem.
Didn't know that, nice workaround.

Is there any con in doing "convert to standard crypto"???
 

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
372
Trophies
0
XP
333
Country
United States
So, in light of the key derivation thing between fusee and hekate, you can STILL make lower fw games work with hekate. With tinfoil. It not only has the ignore firmware option, but also the convert to standard crypto option. This will lower the master key requirement. Use both, and you shouldn't get the corrupted file problem.
Ignore firmware is a different thing

In cnmt you have a "required" firmware version for the application that's completely arbitrary, in normal hos it would ask you to do system update before you could install a game or update with a higher required firmware than you have

When you do ignore required firmware, the installer just ignores that check and makes the os do the install anyway, then the only limiting factor for minimum firmware is master key

It doesnt modify the files in any way also, you can keep clean eshop files that dont need fs or loader patches and are less likely to break with later updates. and because fusee just lets you use newer master key on older firmware, you can keep unmodified files that way too which is an advantage
 
  • Like
Reactions: mathew77

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,823
Trophies
2
Age
48
Location
Japan
XP
3,767
Country
United States
Ignore firmware is a different thing

In cnmt you have a "required" firmware version for the application that's completely arbitrary, in normal hos it would ask you to do system update before you could install a game or update with a higher required firmware than you have

When you do ignore required firmware, the installer just ignores that check and makes the os do the install anyway, then the only limiting factor for minimum firmware is master key

It doesnt modify the files in any way also, you can keep clean eshop files that dont need fs or loader patches and are less likely to break with later updates. and because fusee just lets you use newer master key on older firmware, you can keep unmodified files that way too which is an advantage
not sure if this was meant as clarification or a retort. We're talking about both installing and running on the lower firmware, so I don't see how anything I wrote was wrong.
 

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
372
Trophies
0
XP
333
Country
United States
not sure if this was meant as clarification or a retort. We're talking about both installing and running on the lower firmware, so I don't see how anything I wrote was wrong.
It's a clarification, because your earlier replies implied that "ignore firmware version" was doing all the legwork

DBI doesn’t have an ignore firmware option, so of course you can’t install it. Then again, I’m not even sure why we’re entertaining this. There’s absolutely no reason not to just update.

But yea… install with tinfoil and the ignore firmware checked. It’ll still not work right if the game uses functionality that doesn’t exist in the older firmware though.
"Old firmware" here in dbi is a master key error, when the firmware version is too old to have the required master key, which fails the install because it can't read the data

dbi always ignores the "soft" firmware version requirement so that's not a concern
 

RedColoredStars

Well-Known Member
Member
Joined
Aug 14, 2022
Messages
1,200
Trophies
1
Location
Angoche
XP
1,612
Country
Mozambique
Why jump through all of the hoops to get games running. Just update and quit worrying about it. There's no good legit reason to not update. And the entire "It worked for me before , so it should work now" thing is not legit.
 
  • Like
Reactions: HenryBaby

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,382
Trophies
1
XP
3,364
Country
Personally i'm still on 1.6.2 because first of all i don't own any games that require a higher firmware and because Switch-OC-Suite is abandoned and doesn't support latest (no, i won't discuss with anyone that i should install the closed source successor i don't trust. I won't use it as long as it's closed source. Period.).

If the situation changes i will definitely update to the latest firmware again.
 

RedColoredStars

Well-Known Member
Member
Joined
Aug 14, 2022
Messages
1,200
Trophies
1
Location
Angoche
XP
1,612
Country
Mozambique
Hey everyone!!! My Switch is on FW 13 and all of my games used to work fine, but when I install any newer games nothing works. I won't update my fw, atmosphere, hekate, fusee, sigpatches, or sys-patch because it all worked before without needing to update and I can't be bothered to do all of that. What should I do?!?!?! Help!!!

/s
 
Last edited by RedColoredStars,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://m.youtube.com/watch?v=fIyYTN86_Uk&pp=ygUXc3BhY2ViYWxscyB3aGVuIGlzIG5vdyA%3D