More actions
Prodinfo gen | |
---|---|
General | |
Author | CaramelDunes |
Type | Payload (Binaries) |
Version | 1.1.0 |
License | GPL-2.0 |
Last Updated | 2022/04/02 |
Links | |
Download | |
Website | |
Source | |
prodinfo_gen is a Nintendo Switch payload that can generate minimal, console-unique, PRODINFO files.
It can either build one from scratch or import parts of a donor PRODINFO.
It is primarily aimed at people without a backup of their PRODINFO or building a NAND from scratch.
This tool is not meant to, and will not, unban a Switch console.
Note: Use this tool at your own risk, do not overwrite a factory PRODINFO without making a backup first.
User guide
Limitations
Of course, as we do not have Nintendo's private keys, the generated files can't be perfect.
Here's what works:
Booting | Homebrews | Amiibos | GameCards | Online | |
---|---|---|---|---|---|
from scratch | ✓ | ✓ | ✓ | ||
from donor | ✓ | ✓ | ✓ | ✓ | |
As such, a "from scratch" PRODINFO also acts as a more elaborate "Incognito".
How to use
If you want to use a donor PRODINFO, place it at sd:/switch/donor_prodinfo.bin
.
(Note: If the donor is a patched or Mariko Switch, you will need to copy the donor's keys to sd:/switch/donor.keys
.)
Launch prodinfo_gen.bin using your favorite payload injector or chainloader.
You should find sd:/switch/generated_prodinfo_from_scratch.bin
or sd:/switch/generated_prodinfo_from_donor.bin
depending on what you selected.
You can now write that PRODINFO to your NAND using a tool such as HacDiskMount (it is recommended to make a backup of the current PRODINFO first).
Useful links
Switch Unbricking Guide - ProdInfo Fix (PikaFix) (by Adran_Marit).
Screenshots
Media
THE PRODINFO GEN TOOL (sthetix)
Changelog
v1.1.0 2022/04/02
- Adds support for 14.0.0.
- What happened is that, until 14.0.0, on boot, the device id from fuses was compared against the one embedded in
Rsa2048DeviceCertificate
orEccB233DeviceCertificate
. Now,Rsa2048ETicketCertificate
is used instead, but prodinfo_gen didn't write the device id string there. - Not sure why this changed, it does make the logic simpler as Rsa2048ETicketCertificate is available on every console, whereas newer consoles lack an EccB233DeviceCertificate.
- Thanks @xiaojiangGangGang, @stanz328, @lsp199308, and @laotoulyh for reporting/testing.
- Closes #24.
v1.0.1 2021/11/04
- WARNING: This does not work with firmware 14+! Please use version 1.1.0 or higher if you plan to use the generated prodinfo with a 14+ firmware.
- Based on latest Lockpick_RCM.
- Adds support for OLED Switch (Aula).
- Automatically dumps master keys, no need for prod.keys anymore.
- Makes importing from donor simpler, simply copy the donor's keys to
sd:/switch/donor.keys
.
- Correctly sets
ProductModel
for OLED Switch. - Thanks to @laotoulyh for testing and providing me with a sample.
- Closes #20.
v1.0.0 2021/11/02
- Based on latest Lockpick_RCM.
- Adds support for OLED Switch (Aula).
- Automatically dumps master keys, no need for prod.keys anymore.
- Makes importing from donor simpler, simply copy the donor's keys to
sd:/switch/donor.keys
..
- Correctly sets
ProductModel
for OLED Switch. - Thanks to @laotoulyh for the sample.
- Closes #20.
v0.3.4 2021/02/18
- Fix the
ProductModel
field value (#11).- It could cause the "Connect Joycons" screen to appear on the Switch Lite.
- Many thanks to @henryjmin
- Personalize the console colors in the Controllers screen.
v0.3.3 2021/01/11
- Allow importing from patched and Mariko Switch PRODINFOs. Do not forget to add
donor_device_key_4x
to your prod.keys (see README). - "From donor" PRODINFOs are now built like "from scratch" with additional certificate and key importing. It should lead to more reliable PRODINFOs.
- Fix 2011-0301 error when using a "from scratch" PRODINFO.
- Huge thanks to @laotoulyh, @Kronos2308, and Modificatorul for helping me test.
v0.3.2 2021/01/11
- Allow importing from patched and Mariko Switch PRODINFOs. Do not forget to add
donor_device_key_4x
to your prod.keys (see README). - "From donor" PRODINFOs are now built like "from scratch" with additional certificate and key importing. It should lead to more reliable PRODINFOs.
- Fix 2011-0301 error when using a "from scratch" PRODINFO.
v0.3.1 2021/01/10
- Allow importing from patched and Mariko Switch PRODINFOs. Do not forget to add
donor_device_key_4x
to your prod.keys (see README). - "From donor" PRODINFOs are now built like "from scratch" with additional certificate and key importing. It should lead to more reliable PRODINFOs.
v0.3.0 2021/01/10
- Allow importing from patched and Mariko Switch PRODINFOs. Do not forget to add
donor_device_key_4x
to your prod.keys (see README). - "From donor" PRODINFOs are now built like "from scratch" with additional certificate and key importing. It should lead to more reliable PRODINFOs.
v0.2.1 2021/01/05
- Thanks, @shchmue, for the Lotus kek sources.
v0.2.0 2021/01/02
- Add Mariko support by merging changes from https://github.com/shchmue/Lockpick_RCM.
- Big thanks to Modificatorul for helping me test this version.
v0.2.0 2020/12/31
- Add Mariko support by merging changes from https://github.com/shchmue/Lockpick_RCM.
v0.1.3 2020/10/27
- Improve RandomNumber generation.
v0.1.2 2020/10/25
- Fix SslCertificateHash computation.
v0.1.1 2020/10/23
- Improve README.
v0.1.0 2020/10/23
- Feature/cal0 builder (#1)
- Support broken eMMC.
- Add CAL0 menu entry.
- Working ghash and decryption of extended keys.
- Added primitive personalization.
- From scratch works.
- From scratch works.
- Cleanup.
- Warning cleanup.
- Read master_key_00 from prod.keys.
Credits
- This software is based on shchmue's Lockpick_RCM.
- GCM encryption primitives from Atmosphère.
- Most of the reverse engineering work comes from shchmue, PabloZaiden, SwitchBrew.