Lockpick_RCM 1.9.15 (FW 20) Zoria

Lockpick_RCM 1.9.15 (FW 20) Zoria 1.9.15 New

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, /switch/dev.keys and /switch/title.keys on SD
  • This release bundles the Falcon keygen from Atmosphère-NX

Mariko-Specific Keys​

Mariko consoles have several unique keys and protected keyslots. To get your SBK or the Mariko specific keys, you will need to use the /switch/partialaes.keys file along with a brute forcing tool such as https://files.sshnuke.net/PartialAesKeyCrack.zip. The contents of this file are the keyslot number followed by the result of that keyslot encrypting 16 null bytes. With the tool linked above, enter them in sequence for a given keyslot you want the contents of, for example: PartialAesKeyCrack.exe <num1> <num2> <num3> <num4> with the --numthreads=N where N is the number of threads you can dedicate to the brute force.


The keyslots are as follows, with names recognized by hactool:


  • 0-11 - mariko_aes_class_key_xx (this is not used by the Switch but is set by the bootrom; hactoolnet recognizes it but it serves no purpose)
  • 12 - mariko_kek (not unique - this is used for master key derivation)
  • 13 - mariko_bek (not unique - this is used for BCT and package1 decryption)
  • 14 - secure_boot_key (console unique - this isn't needed for further key derivation than what Lockpick_RCM does but might be nice to have for your records)
  • 15 - Secure storage key (console unique - this is not used on retail or dev consoles and not recognized by any tools)

So if you want to brute force the mariko_kek, open your partialaes.keys and observe the numbers beneath keyslot 12. Here's an example with fake numbers:


12
11111111111111111111111111111111 22222222222222222222222222222222 33333333333333333333333333333333 44444444444444444444444444444444


Then take those numbers and open a command prompt window at the location of the exe linked above and type: PartialAesKeyCrack.exe 11111111111111111111111111111111 22222222222222222222222222222222 33333333333333333333333333333333 44444444444444444444444444444444 and if you're on a powerful enough multicore system, add --numthreads=[whatever number of threads], ideally not your system's maximum if it's, for example, an older laptop with a low-end dual core CPU. On a Ryzen 3900x with 24 threads this generates a lot of heat but finishes in about 45 seconds.


These keys never change so a brute force need only be conducted once.


This works due to the security engine immediately flushing writes to keyslots which can be written one 32-bit chunk at a time. See: https://switchbrew.org/wiki/Switch_System_Flaws#Hardware
Change log
Add full support for Firmware 20 keys on Erista and Mariko units.
Author
impeeza
Downloads
792
Views
1,704
First release
Last update
Rating
5.00 star(s) 4 ratings

More resources from impeeza

Latest updates

  1. Version display updated

    Version display updated, a error on actions on github ignored the new version display.

Latest reviews

Working perfectly on my Erista Switch. Thanks!
Thanks! :D
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Veho @ Veho:
    An entire zero seconds.
  • Sicklyboy @ Sicklyboy:
    holy moly this account is old
    IMLUDAx.png
  • Veho @ Veho:
    Your account can drink and smoke and do porn.
  • Sicklyboy @ Sicklyboy:
    Not in the bastion of freedom known as the US of A it can't :P
  • Sicklyboy @ Sicklyboy:
    Well it could do porn, but it can't drink or have a smoke after
  • Veho @ Veho:
    Bummer.
  • Veho @ Veho:
    (Barely even know 'er)
    +1
  • Sicklyboy @ Sicklyboy:
    Freedom :D
  • realtimesave @ realtimesave:
    @Sicklyboy I happened to have ubisoft app already installed, so I just logged in and got the game and played with @Skv0ra
  • Veho @ Veho:
    But it could drink and smoke in the homeland of Ubisoft, that counts.
  • Sicklyboy @ Sicklyboy:
    @realtimesave, uuugggghhhhhhh sounds like multiplayer doesn't work on Linux
  • Sicklyboy @ Sicklyboy:
    Because of the anticheat
  • Plazorn @ Plazorn:
    That's been a constant issue on linux
  • Sicklyboy @ Sicklyboy:
    Yep :/
  • Veho @ Veho:
    They know Linux users are filthy cheaters.
    +2
  • Sicklyboy @ Sicklyboy:
    Shouldn't be, because these anti cheat suites pretty much all natively support linux if I'm not mistaken, and it's down to a literal checkbox that they're not ticking.
  • Plazorn @ Plazorn:
    Would you really install a kernel level anticheat program if it existed though? I sure wouldn't.
  • Sicklyboy @ Sicklyboy:
    And yet, here we are
  • Plazorn @ Plazorn:
    It's a dilemma
    +1
  • realtimesave @ realtimesave:
    @Sicklyboy oh yea that anti cheat stuff doesn't like certain things :|
  • ZucchiniMaiden @ ZucchiniMaiden:
    I was sick for a week, thought I had kicked it and then it came back a few days later and I feel worse. What the hell.
  • Skelletonike @ Skelletonike:
    covid?
  • ZucchiniMaiden @ ZucchiniMaiden:
    I'm not sure, I don't think I've ever had covid. The symptoms don't seem to line up that well.
  • ZucchiniMaiden @ ZucchiniMaiden:
    I'm also dealing with toothache from a cavity so that sucks.
  • DinohScene @ DinohScene:
    use pliers
    +1
    DinohScene @ DinohScene: use pliers +1