Lockpick Switch - Gamebrew

Lockpick Switch - Gamebrew
Lockpick
Authorshchmue
TypeUtilities
Version1.2.6
LicenseGPL-2.0
Last Updated2019/09/19
Website
Source

Lockpick is a ground-up C++17 rewrite of homebrew key derivation software, namely kezplez-nx. It also dumps titlekeys. This will dump all keys through *_key_05 on firmwares below 6.2.0 and through *_key_06 on 6.2.0.

Note: Due to changes in firmware 7.0.0 dumping new keys from homebrew is infeasible. Check out the RCM payload that can dump the new keys, Lockpick RCM.

Features

  • Dumps titlekeys and SD seed.
  • Dumps all keys through 6.2.0.
  • Uses the superfast xxHash instead of sha256 when searching exefs for keys for a ~5x speed improvement.
  • Gets all possible keys from running process memory - this means no need to decrypt Package2 at all, let alone decompress KIPs.
  • Gets bis keys and header_key without tsec, sbk, master_key_00 or aes sources. Shoutout to exelix11 for using this method in SwitchThemeInjector. Homebrew devs should be doing this instead of requiring users to provide key files.

User guide

  • Use Hekate v4.5+ to dump TSEC and fuses:
    • Push hekate payload bin using TegraRCMSmash/TegraRCMGUI/modchip/injector.
    • Using the VOL and Power buttons to navigate, select Console info...
    • Select Print fuse info (not kfuse info).
    • Press Power to save fuse info to SD card.
    • Select Print TSEC keys.
    • Press Power to save TSEC keys to SD card.
  • Launch CFW of choice.
  • Open Homebrew Menu.
  • Run Lockpick.
  • Use the resulting /switch/prod.keys file as needed and rename if required by any software you're using.

You may instead use biskeydump and dump to SD to get all keys prior to the 6.2.0 generation - all keys up to those ending in 05. Lockpick will dump all keys up to that point regardless which firmware it's run on.

Notes

  • To get keys ending in 06, you must have firmware 6.2.0 installed
  • No one knows package1_key_06, it's derived and erased fully within the encrypted TSEC payload. While there's a way to extricate tsec_root_key due to the way it's used, this is unfortunately not true of the package1 key
  • If for some reason you dump TSEC keys on 6.2.0 and not fuses (secure_boot_key) you will still get everything except any of the package1 or keyblob keys (without secure_boot_key, you can't decrypt keyblobs and that's where package1 keys live)
Chloe Bennett
Author

Chloe Bennett

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.