Nintendo Switch encryption key derivation bare metal RCM payload (originally made by shchmue)
Go to file
shchmue afd17a13ba Add memcmp result checks to avoid gcc optimization 2020-05-18 16:51:37 -06:00
common Hardcode buffers, lock sector cache, use fastfs 2020-05-10 13:28:54 -06:00
source Add memcmp result checks to avoid gcc optimization 2020-05-18 16:51:37 -06:00
.gitignore Fix .gitignore 2019-04-18 13:15:03 -04:00
LICENSE Initial commit 2019-03-04 18:05:42 -05:00
Makefile Apply hekate 5.2.1 and gcc 10 changes, -fno-inline 2020-05-18 14:11:27 -06:00
README.md Update readme and copyrights 2020-04-15 17:04:07 -06:00

README.md

Lockpick_RCM

Lockpick_RCM is a bare metal Nintendo Switch payload that derives encryption keys for use in Switch file handling software like hactool, hactoolnet/LibHac, ChoiDujour, etc. without booting Horizon OS.

Due to changes imposed by firmware 7.0.0, Lockpick homebrew can no longer derive the latest keys. In the boot-time environment however, there is no such limitation.

Usage

  • It is highly recommended, but not required, to place Minerva on SD from the latest Hekate for best performance, especially while dumping titlekeys - the file and path is /bootloader/sys/libsys_minerva.bso
  • Launch Lockpick_RCM.bin using your favorite payload injector or chainloader
  • Upon completion, keys will be saved to /switch/prod.keys and titlekeys to /switch/title.keys on SD
  • If the console has Firmware 7.x or higher, the /sept/ folder from Atmosphère or Kosmos release zip must be present on SD or else only keyblob master key derivation is possible (ie. up to master_key_05 only)

Building

Install devkitARM and run make.

Massive Thanks to CTCaer!

This software is heavily based on Hekate. Beyond that, CTCaer was exceptionally helpful in the development of this project, lending loads of advice, expertise, and humor.

License

This project is under the GPLv2 license. The Save processing module is adapted from hactool code under ISC.