Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔑 Key Decoding

Key Decoding LILYGO T-Embed CC1101 Bruce Firmware Key Decoding - Update LILYGO T-Embed CC1101 Bruce Firmware Key Decoding on App Store Bruce Firmware LILYGO T-Embed CC1101

A Bruce app for hackers, tinkerers and lock nerds.
Decode and randomly generate key bitting patterns for a bunch of lock brands.
Visualize the cuts, tweak the pins and save/load your keys.

📟 Supported Devices

This app is designed for Bruce Interpreter compatible devices with screen 170x320. Devices of other sizes will render the key incorrectly.

🏴‍☠️ Supported Keys

A ✔️ indicates a key outline verified against a real key. Unmarked outlines are still selectable, but they are unverified and may be less accurate.

Brand Key Outlines Comments
ASSA ✔️ 5 pins
✔️ 6 pins
✔️ 7 pins
Abloy Classic ✔️ 7 disks
✔️ 9 disks
✔️ 11 disks
Abloy High Profile ✔️ 7 disks
✔️ 9 disks
✔️ 11 disks
American ✔️ 5 pins
✔️ 6 pins
Arrow ⬜ 6 pins/A
⬜ 7 pins/A
Shares DSD with Best (A2 small-format interchangeable core)
Best ⬜ 6 pins/A2
✔️ 7 pins/A2
Buick ⬜ 10 cuts/B102 Shares DSD with Chevy B102
Chevy ⬜ 10 cuts/B102
Chrysler ⬜ 8 cuts/Y159 Shares DSD with Dodge Y159
Corbin Russwin ✔️ 5 pins/RU45
✔️ 6 pins/CX6A
Dodge ⬜ 8 cuts/Y159
Eagle ⬜ 6 pins/A
⬜ 7 pins/A
Shares DSD with Best (A2 small-format interchangeable core)
Falcon ⬜ 6 pins/A
⬜ 7 pins/A
Shares DSD with Best (A2 small-format interchangeable core)
Ford ⬜ 8 cuts/H75
GMC ⬜ 10 cuts/B102 Shares DSD with Chevy B102
GMS ⬜ 6 pins/A
⬜ 7 pins/A
Shares DSD with Best (A2 small-format interchangeable core)
Jeep ⬜ 8 cuts/Y159 Shares DSD with Dodge Y159
Kawasaki ⬜ 6 cuts/KA14
KSP ⬜ 6 pins/A
⬜ 7 pins/A
Shares DSD with Best (A2 small-format interchangeable core)
Kwikset ✔️ 5 pins
Lincoln ⬜ 8 cuts/H75 Shares DSD with Ford H75
Lockwood ⬜ 5 pins/LW4
⬜ 6 pins/LW5
Master ✔️ 4 pins
✔️ 5 pins
⬜ 6 pins
Medeco Biaxial ✔️ 6 pins
Mercury ⬜ 8 cuts/H75 Shares DSD with Ford H75
National ⬜ 5 pins/D8775
Oldsmobile ⬜ 10 cuts/B102 Shares DSD with Chevy B102
Plymouth ⬜ 8 cuts/Y159 Shares DSD with Dodge Y159
Pontiac ⬜ 10 cuts/B102 Shares DSD with Chevy B102
RV ⬜ 5 cuts
Sargent ⬜ 5 pins/LA
⬜ 6 pins/LA
Schlage ✔️ 5 pins/SC1
✔️ 6 pins/SC4
Subaru ⬜ 9 cuts/DSD435
Suzuki ⬜ 7 cuts/SUZ18
Titan ✔️ 5 pins Similar to Yale
Weiser ⬜ 5 pins/WR5
⬜ 6 pins/WR3
Weslock ⬜ 5 pins
Yale ✔️ 5 pins/Y1
⬜ 6 pins/Y2
Yale Small ✔️ 4 pins
✔️ 5 pins
Yamaha ⬜ 7 cuts/YM63

⚡ Install

Option 1: Bruce App Store

  1. Open Bruce App Store via JS Interpreter → Tools → App Store
    • if App Store is not present, go to Config → Install App Store
  2. Navigate to Tools
  3. Download and install Key Decoding

Option 2: Manual Install

  1. Drop KeyDecoding.js onto your Bruce device
  2. Fire up the Bruce Interpreter
  3. Have fun

🕹️ Usage

Navigation

  • SEL (Select): Move to next pin, or to Save/Load (in Decode mode)
  • NEXT: Increase pin depth / Save (when "Save" is highlighted) / Load (when "Load" is highlighted)
  • PREV: Decrease pin depth
  • ESC: Back to main menu

⚙️ Workflow

  1. Pick a Brand: Choose your target lock or load a saved key
  2. Pin Count: Select how many pins (brand-dependent)
  3. Mode:
    • Random: Get a random bitting (good for challenge keys)
    • Decode: Set each pin yourself (for real-world decoding)
  4. Tweak Pins: Use NEXT/PREV to set each pin's depth
  5. Save: SEL to "Save", then NEXT to write your key JSON
  6. Load: SEL to "Load", then NEXT to pick a saved key

📂 Key File Format

Keys are saved as JSON in /keys/:

{
  "type": "Titan",
  "outline": "5 pins",
  "pins": [ 3, 5, 2, 7, 4 ]
}

Key Configuration

KeyExample: {
    displayName: "Key Example",     // display name shown in menu
    isDiskDetainer: false,          // whether the key is a disk detainer type (default false)
    bladeHeight: 45,                // blade height for disk detainer keys (default 45)
    outlines: ["5 pins", "6 pins"], // number of pins
    pinSpacing: 31,                 // distance between pins (default 31)
    maxKeyCut: 9,                   // number of cuts (default 9)
    flatSpotWidth: 5,               // width of flat spot of the cut (default 5)
    cutDepthOffset: 5,              // depth offset of each cut (default 5)
    zeroCutOffset: 0,               // depth offset of zero cut (default 0)
    edgeOffsetX: 0,                 // x offset of the bottom-right diagonal (default 0)
    edgeOffsetY: 0,                 // y offset of the bottom line (default 0)
    pinsStartAtZero: false,         // whether pin numbers start at 0 or 1 (default false)
    pinNumbersOffset: 0             // x offset for pin numbers with underline (default 0)
}

🔗 Links

⭐ Contributors

☠️ Disclaimer

For educational, CTF and red team use only.
Don't break the law. Don't be a jerk.
Accuracy of non-verified options may be poor.

About

Key Decoding - Bruce App for LILYGO T-Embed CC1101

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages