Thealexbarney / LibHac

A library that reimplements parts of the Nintendo Switch OS
Other
387 stars 44 forks source link

Suggestion: Support save_mac_key from prod.keys #267

Closed qnnnnez closed 3 months ago

qnnnnez commented 1 year ago

Currently on mariko models, Lockpick_RCM does not produce prod.keys containing secure_boot_key and tsec_key, which is used by LibHac to derive save_mac_key_00 and save_mac_key_01.

prod.keys from mariko models does contain save_mac_key, which I believe is actually save_mac_key_00 (because only DeviceUniqueSaveMacKeys[0] is used in code, and Lockpick_RCM only derive save_mac_key, but not save_mac_key_00 or save_mac_key_01).

I renamed save_mac_key to save_mac_key_00 in prod.keys, and it works just fine. Save data can be signed by hactoolnet using the correct key, and is then accepted by the OFW/game.

Suggestion: support reading save_mac_key directly from prod.keys produced by Lockpick_RCM, or add some hints for those who want to sign save data files for their mariko models.