Skip to content

skyzyx/Lockpick_RCM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔓 Lockpick_RCM

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

⚠️ Note : Due to changes in firmware 7.0.0 and beyond, the Lockpick homebrew can no longer derive the latest keys. However, this limitation doesn't apply in the boot-time environment, allowing Lockpick_RCM to function properly.

🚀 Usage

  1. 🗄️ Recommended : Place Minerva on your SD card for optimal performance, especially when dumping titlekeys. You can get it from the latest Hekate release. Place the file at :
    /bootloader/sys/libsys_minerva.bso
    
  2. 🎮 Launch Lockpick_RCM.bin using your preferred payload injector or chainloader.
  3. 💾 Keys will be saved to:
    • /switch/prod.keys
    • /switch/title.keys on your SD card.

This release also includes the Falcon keygen from Atmosphère-NX.

🔑 Mariko-Specific Keys

Mariko consoles (Switch V2 and Switch Lite) contain unique keys and protected keyslots. To extract these keys, you will need to use the /switch/partialaes.keys file along with a brute-forcing tool like PartialAesKeyCrack. The process involves :

  1. Open partialaes.keys and observe the keyslot data.
  2. Use the following command format :
    PartialAesKeyCrack.exe <num1> <num2> <num3> <num4> --numthreads=[N]
    
    Replace [N] with the number of threads to utilize (not exceeding your CPU's core count).

🔍 Keyslots Overview

Keyslot Name Notes
0-11 mariko_aes_class_key_xx Not used by the Switch (set by bootrom)
12 mariko_kek Used for master key derivation
13 mariko_bek Used for BCT and package1 decryption
14 secure_boot_key Console unique (for personal records)
15 Secure storage key Console unique (not used on retail/dev units)

Example:

12
11111111111111111111111111111111 22222222222222222222222222222222 33333333333333333333333333333333 44444444444444444444444444444444

To brute force mariko_kek, run :

PartialAesKeyCrack.exe 11111111111111111111111111111111 22222222222222222222222222222222 33333333333333333333333333333333 44444444444444444444444444444444 --numthreads=12

💡 On a high-performance CPU like the Ryzen 3900x, this process takes about 45 seconds using 24 threads.

🔗 For more details on the hardware flaw utilized : Switch System Flaws - Hardware

🛠️ Building

  1. Install devkitARM.
  2. Run :
    make
    

🙌 Massive Thanks to CTCaer !

This project owes a lot to Hekate, and special thanks go to CTCaer for his valuable advice, expertise, and humor throughout the development process. 🎉

📜 License

Lockpick_RCM is licensed under the GPLv2. The save processing module is adapted from hactool, licensed under ISC.

⚠️ Unofficial Repository

This repository is a clone of the DMCA'd Lockpick_RCM by shchmue. The modifications here are based on the source code shared on the ReSwitched Discord server.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.0%
  • C++ 4.4%
  • Makefile 0.3%
  • Assembly 0.3%
  • Python 0.0%
  • Linker Script 0.0%