A Python-based GUI application for programming car keys and bypassing immobilizers using the OBDLink SX interface.
- Support for multiple vehicle manufacturers
- Key programming operations:
- Add new key
- Immobilizer bypass
- Read key count
- Clear all keys
- Real-time command logging
- Modern dark theme UI
- Extensible vehicle database
- Golf (2010-2023)
- Polo (2010-2023)
- Passat (2010-2023)
- Transporter (2010-2023)
- Tiguan (2010-2023)
- T-Cross (2018-2023)
- Ibiza (2010-2023)
- Octavia (2010-2023)
- Kodiaq (2016-2023)
- Superb (2010-2023)
- Fabia (2010-2023)
- Elantra (2010-2023)
- Sonata (2010-2023)
- Tucson (2010-2023)
- Accent (2010-2023)
- Venue (2010-2023)
- Ioniq (2016-2023)
- Kona (2010-2023)
- i20 (2010-2023)
- i30 (2010-2023)
- Getz (2010-2023)
- Sportage (2010-2023)
- Optima (2010-2023)
- Sorento (2010-2023)
- Pride (2010-2023)
- Picanto (2010-2023)
- 208 (2012-2023)
- 308 (2010-2023)
- 3008 (2010-2023)
- 5008 (2010-2023)
- Partner (2010-2023)
- Rifter (2018-2023)
- C3 (2010-2023)
- C4 (2010-2023)
- C5 (2010-2023)
- 3 Series (2010-2023)
- 5 Series (2010-2023)
- X3 (2010-2023)
- X5 (2010-2023)
- C-Class (2010-2023)
- E-Class (2010-2023)
- GLC (2015-2023)
- GLE (2015-2023)
- A3 (2010-2023)
- A4 (2010-2023)
- A6 (2010-2023)
- Q5 (2010-2023)
- Focus (2010-2023)
- Fiesta (2010-2023)
- Mondeo (2010-2023)
- Kuga (2010-2023)
- Cruze (2010-2023)
- Malibu (2010-2023)
- Spark (2010-2023)
- Aveo (2010-2023)
- 500 (2010-2023)
- Panda (2010-2023)
- Tipo (2015-2023)
- Punto (2010-2023)
- Clio (2010-2023)
- Megane (2010-2023)
- Captur (2013-2023)
- Kadjar (2015-2023)
- Corsa (2010-2023)
- Astra (2010-2023)
- Insignia (2010-2023)
- Mokka (2012-2023)
- Corolla (2010-2023)
- Camry (2010-2023)
- RAV4 (2010-2023)
- Yaris (2010-2023)
- Civic (2010-2023)
- Accord (2010-2023)
- CR-V (2010-2023)
- HR-V (2015-2023)
- Qashqai (2010-2023)
- Juke (2010-2023)
- X-Trail (2010-2023)
- Micra (2010-2023)
- Mazda3 (2010-2023)
- Mazda6 (2010-2023)
- CX-5 (2012-2023)
- CX-30 (2019-2023)
- Impreza (2010-2023)
- Forester (2010-2023)
- XV/Crosstrek (2012-2023)
- Outback (2010-2023)
Each model supports:
- Key programming
- Immobilizer bypass
- Key count reading
- Key clearing
- PIN reading (where applicable)
- Python 3.8 or higher
- Python packages (installed automatically):
- python-can
- pyserial
- python-obd
- customtkinter
- pillow
- pyusb
- System requirements:
- Git (for installation)
- tkinter (usually comes with Python, if not see installation troubleshooting)
- Microsoft Visual C++ Build Tools (might be required on Windows)
- Make sure you have Git installed on your system
- Clone this repository:
git clone https://github.com/yourusername/key-programmer.git
cd key-programmer/gui
- Install required packages:
# For Windows:
python -m pip install --upgrade pip
pip install -r requirements.txt
If you encounter any installation issues:
-
Make sure you have Git installed:
- Download from: https://git-scm.com/download/win
-
If tkinter is missing:
# For Windows: # Option 1: Reinstall Python and make sure to check "tcl/tk and IDLE" during installation # Option 2: Install tkinter using the Python installer: python -m pip install tk
-
If python-obd fails to install:
pip install git+https://github.com/brendan-w/python-OBD.git
-
If you get "Microsoft Visual C++ Build Tools" error:
- Install Visual Studio Build Tools from: https://visualstudio.microsoft.com/visual-cpp-build-tools/
- Select "Desktop development with C++" workload during installation
- Connect OBDLink SX device
- Select vehicle manufacturer, model, and year
- Choose desired operation:
- Add New Key
- Immobilizer Bypass
- Read Key Count
- Clear All Keys
- Follow on-screen instructions
This tool is for educational purposes only. Unauthorized access to vehicle security systems may be illegal in your jurisdiction. Only use on vehicles you own or have explicit permission to work on.
Vehicle definitions are stored in src/database/vehicles.json
. Each vehicle entry contains:
- Supported features
- Command sequences for each operation
- Expected responses
- Timing parameters
Example vehicle entry:
{
"Manufacturer": {
"Model": {
"Year": {
"supports_key_add": true,
"key_add_sequence": [
{
"description": "Enter programming mode",
"command": "31 01 00",
"expected_response": "71 01 00",
"delay": 1
}
]
}
}
}
}
- Enhanced security features with proper authentication
- Additional manufacturer support
- Advanced diagnostic protocols
- Custom PID configurations
- Data logging and analysis
- Firmware updates
- Integration with manufacturer-specific tools
Contributions are welcome! Please feel free to submit pull requests.
Developed by M Khanfar
GitHub: https://github.com/khanfar
2025 M Khanfar. All rights reserved.
This software is provided for educational purposes only. The developer and contributors are not responsible for any misuse or damage caused by this tool. Always follow local laws and manufacturer guidelines when working with vehicle systems.
This project is licensed under the MIT License - see the LICENSE file for details.