Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SasPes/key-decoding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔑 Key Decoding

▶️ Key Decoding 📟 LILYGO T-Embed CC1101 🦈 Bruce Firmware

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.
Works on Bruce interpreter devices like the LILYGO T-Embed CC1101.

🏴‍☠️ Supported Keys

Tested Brand Pin Options
✔️ ASSA 5, 6, 7 pins
✔️ Abloy 7, 9, 11 disks
✔️ American 5, 6 pins
✔️ Best 7 pins
✔️ Kwikset 5 pins
✔️ Master 4, 5 pins
Schlage 5, 6 pins
✔️ Titan 5, 6 pins
Yale 5 pins

⚡ 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: {
    isDiskDetainer: false,          // whether the key is a disk detainer type (default false)
    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

☠️ Disclaimer

For educational, CTF and red team use only.
Don't break the law. Don't be a jerk.

About

Key Decoding - Bruce App for LILYGO T-Embed CC1101

Resources

License

Stars

Watchers

Forks

Packages

No packages published