Lockpick_RCM payload - Official Thread


Description

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.

Source: https://github.com/shchmue/Lockpick_RCM
Payload: https://github.com/shchmue/Lockpick_RCM/releases

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 are fewer limitations. That means the new keys are finally easy to dump!

Usage
  • Launch Lockpick_RCM.bin using your favorite payload injector or chainload from Hekate by placing it in /bootloader/payloads
  • Upon completion, keys will be saved to /switch/prod.keys on SD
  • If the console has Firmware 7.x, the /sept/ folder from Atmosphère or Kosmos release zip containing both sept-primary.bin and sept-secondary.enc must be present on SD or else only keyblob master key derivation is possible (ie. up to master_key_05 only)
Big thanks to CTCaer
For Hekate and all the advice while developing this!

Known Issues
  • Chainloading from SX will hang immediately due to quirks in their hwinit code, please launch payload directly
 

Attachments

  • AB1248EA-8BB9-448B-83F5-FF68C2579FB1.jpeg
    AB1248EA-8BB9-448B-83F5-FF68C2579FB1.jpeg
    11.2 KB · Views: 0
Last edited by shchmue,

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,723
Country
Colombia
Hey, thanks for the fast reply. Is there any practical purpose for Picklock_RCM_unc.bin? Could I chainload such an uncompressed payload from, say, hekate's payload launch menu? I was vaguely aware that there is a size limit for payloads injected via the RCM exploit, but I don't know if that applies to all payloads loaded through other means as well.

Though, I am not sure why I would want to do such a thing. Is the uncompressed payload simply a build artifact, or is it there for another reason?
Nop, is just a step on the build of the payload, if the final payload is to big. Then is compared with the unc one, in some rare cases the unc version ciuld be smaller than the compressed one
 

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,325
Trophies
2
XP
18,188
Country
Sweden
It tell you right here what the unc is for

Code:
all: $(OUTPUTDIR)/$(TARGET).bin $(LDRDIR)
    @echo "--------------------------------------"
    @echo -n "Uncompr size: "
    $(eval BIN_SIZE = $(shell wc -c < $(OUTPUTDIR)/$(TARGET)_unc.bin))
    @echo $(BIN_SIZE)" Bytes"
    @echo "Uncompr Max:  140288 Bytes + 3 KiB BSS"
    @if [ ${BIN_SIZE} -gt 140288 ]; then echo "\e[1;33mUncompr size exceeds limit!\e[0m"; fi
    @echo -n "Payload size: "
    $(eval BIN_SIZE = $(shell wc -c < $(OUTPUTDIR)/$(TARGET).bin))
    @echo $(BIN_SIZE)" Bytes"
    @echo "Payload Max:  126296 Bytes"
    @if [ ${BIN_SIZE} -gt 126296 ]; then echo "\e[1;33mPayload size exceeds limit!\e[0m"; fi
    @echo "--------------------------------------"

To clarify, read from there and down and you will see what it does
 
  • Love
Reactions: rave420 and impeeza

rave420

Well-Known Member
Member
Joined
Dec 21, 2010
Messages
277
Trophies
1
XP
212
Country
Canada
It tell you right here what the unc is for

Code:
all: $(OUTPUTDIR)/$(TARGET).bin $(LDRDIR)
    @echo "--------------------------------------"
    @echo -n "Uncompr size: "
    $(eval BIN_SIZE = $(shell wc -c < $(OUTPUTDIR)/$(TARGET)_unc.bin))
    @echo $(BIN_SIZE)" Bytes"
    @echo "Uncompr Max:  140288 Bytes + 3 KiB BSS"
    @if [ ${BIN_SIZE} -gt 140288 ]; then echo "\e[1;33mUncompr size exceeds limit!\e[0m"; fi
    @echo -n "Payload size: "
    $(eval BIN_SIZE = $(shell wc -c < $(OUTPUTDIR)/$(TARGET).bin))
    @echo $(BIN_SIZE)" Bytes"
    @echo "Payload Max:  126296 Bytes"
    @if [ ${BIN_SIZE} -gt 126296 ]; then echo "\e[1;33mPayload size exceeds limit!\e[0m"; fi
    @echo "--------------------------------------"

To clarify, read from there and down and you will see what it does

What are you suggesting, that I read the contents of the makefile, like I am some sort of programmer? Surely you must be jesting!

In all seriousness, thanks for pointing me in that direction, it is all much clearer now ♥.
 
  • Love
Reactions: impeeza

Gorkensnorkel

Well-Known Member
Member
Joined
Aug 3, 2015
Messages
386
Trophies
0
Age
47
XP
504
Country
United States
How should I go about using Lockpick on a chipped Switch? It boots right to Hekate so I assume I cannot send a payload the way I was accustomed to (using NS-USB Loader).

Edit: I think I figured it out, there is an option to dump from sysnand or emunand, does it matter?
 

BigOnYa

Has A Very Big
Member
Joined
Jan 11, 2021
Messages
3,196
Trophies
1
Age
50
XP
7,547
Country
United States
How should I go about using Lockpick on a chipped Switch? It boots right to Hekate so I assume I cannot send a payload the way I was accustomed to (using NS-USB Loader).

Edit: I think I figured it out, there is an option to dump from sysnand or emunand, does it matter?
You use the Lockpick.bin as a payload thru Hekate. Dump sysnand.
 

Slluxx

GBATemp Mayor
Developer
Joined
Jul 17, 2019
Messages
607
Trophies
0
XP
2,147
Country
Germany
Just informing your guys that i will be stepping down and out of the switch scene. I had to sell my switch and thus i am unable to continue homebrewing and what not. The Lockpick by Mudkip is exactly the same i had so there is no reason not to switch over to that one. I will take my Git instance down and reuse my pi for other projects, so the source will be gone too (But again, mudkips is the same source)
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,723
Country
Colombia
Just informing your guys that i will be stepping down and out of the switch scene. I had to sell my switch and thus i am unable to continue homebrewing and what not. The Lockpick by Mudkip is exactly the same i had so there is no reason not to switch over to that one. I will take my Git instance down and reuse my pi for other projects, so the source will be gone too (But again, mudkips is the same source)
Sorry to hear that but We have to thank you so much for all your work, effort and gifts you have give us for so long time.

Regards from Colombia.
 

BigOnYa

Has A Very Big
Member
Joined
Jan 11, 2021
Messages
3,196
Trophies
1
Age
50
XP
7,547
Country
United States
Just informing your guys that i will be stepping down and out of the switch scene. I had to sell my switch and thus i am unable to continue homebrewing and what not. The Lockpick by Mudkip is exactly the same i had so there is no reason not to switch over to that one. I will take my Git instance down and reuse my pi for other projects, so the source will be gone too (But again, mudkips is the same source)
Yes sorry to hear. Thanks for all your hard work and dedication. Hope your next step is awesome!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    realtimesave @ realtimesave: they need to have a strong line up on the launch titles too. I think they should move metroid...