Godmode9: FIRM installation ignores clean/non-b9s signatures

Created on 8 Jul 2018  路  4Comments  路  Source: d0k3/GodMode9

https://github.com/d0k3/GodMode9/blob/a4a7b8f1e0b91d1e4eed5179af46f17485e2dc17/arm9/source/utils/nandutil.c#L507
I know this is something that you probably intended but there may be instances where a user would want to install their clean firmware with original signatures. One such reason is if they want to have a perfectly restored system with no trace of hax whatsoever.

I discovered this while debugging b9sTool 4.0.0, where it's known plaintext attack requires the installed firm to be exactly as expected. Obviously, it didn't work because the sig had been modified by gm9. This could complicate a user's attempts to hack an affected system (most likely a second hand buyer).

In any event, it shouldn't be too much of a compromise to just install whatever sig is in the FIRM the user specifies, or at least warn them that their sig is about to be changed before it's installed to NAND.

Most helpful comment

Sighax is now mentioned in the readme and in the install dialogue.

All 4 comments

To perfectly restore a system, eliminating all traces of hax, you'd better force / full restore a NAND backup.

The FIRM installer tool is designed to require as little thought from the user side as possible, while making bricks originating from a FIRM install rather improbable. So, yes, replacing the sig is completely intended.

What you want fo to do is, copy the FIRM to S:/FIRM0.bin / S:/FIRM1.bin - then you'll get a verbatim copy of the FIRM you provided, right there in the FIRM partition. You can also automate this via scripting, ofc, and you can verify the FIRM before copying it.

Sooo... does that solve this issue?

Perhaps I should explain a little better. The issue I have is that it's a complete surprise that the firm installer ignores the provided sig and installs a b9s sig without the user's knowledge.

I totally get your reasoning for overriding the user's input sig with a hardcoded b9s sig for safety reasons, but a little transparency wouldn't hurt.

Yeah, okay, got it. I may think about something. Maybe even check the sig and leave it in case it is valid.

Sighax is now mentioned in the readme and in the install dialogue.

Was this page helpful?
0 / 5 - 0 ratings