A cyberpunk-themed, eternally-compatible GUI for Proxmark3 Iceman firmware
- Hard-coded command buttons
- Broke on firmware updates
- Required constant maintenance
- Abandoned after 6-12 months
- Dynamic command discovery - Auto-detects new commands
- CLI passthrough - Uses real PM3 binary, not reimplementation
- Compatibility layer - Works with old AND new firmware
- User-editable profiles - No coding required for customization
- Future-proof architecture - Adapts to Iceman updates automatically
Result: A GUI that survives firmware changes! 🚀
- Cyberpunk dark theme (inspired by CyberNinja Trader)
- Neon green accents on deep space blue
- 50+ emojis for visual feedback
- Professional, modern interface
- Auto-detection of PM3 devices
- One-click connect/disconnect
- Visual status indicators 🟢⚪🔴
- Connection error handling
- Dynamic command parsing from PM3 help
- Auto-discovery of new commands
- Smart suggestions as you type
- Compatibility checking per firmware version
-
5 Organized Tabs:
- 💻 Command Console (manual + quick commands)
- 📊 Device Info (hardware/firmware details)
- 📡 HF Tools (high-frequency operations)
- 📻 LF Tools (low-frequency operations)
- 🔧 Scripts (Lua/Python management)
-
Command Profiles (customizable via JSON)
-
Real-time output with syntax highlighting
-
Command history (↑/↓ navigation)
-
Raw console (fallback for any command)
pm3/GUI/
├── 🚀 CyberNinjaRFID.py # Main GUI (700+ lines)
├── 🧠 pm3_command_parser.py # Dynamic command discovery
├── 🔄 pm3_compatibility.py # Version compatibility layer
├── 📋 command_profiles.json # User-editable command presets
├── ⚙️ config.json # GUI configuration
├── 📦 requirements.txt # Python dependencies
│
├── 🪟 run_cyberninja_rfid.bat # Windows launcher
├── 🐧 run_cyberninja_rfid.sh # Linux/macOS launcher
├── 🔍 check_setup.py # Setup verification tool
│
├── 📚 README.md # This file
├── 📖 README_CyberNinjaRFID.md # User documentation
├── 🚀 QUICKSTART.md # Quick start guide
├── ✨ FEATURES.md # Feature details
├── 🔮 FUTURE_PROOF_DESIGN.md # Architecture explanation
├── 📋 PROJECT_SUMMARY.md # Project overview
│
└── 📂 logs/ # Auto-generated logs
├── cyberninja_rfid.log # Application log
├── pm3_capabilities.json # Detected capabilities
└── pm3_commands_cache.json # Command cache
Total: ~1,175 lines of Python code across 3 modules
pip install -r requirements.txtWindows:
run_cyberninja_rfid.batLinux/macOS:
./run_cyberninja_rfid.sh- Click "🔍 Scan Devices"
- Select your PM3 device
- Click "🔌 Connect"
- Start hacking! 🔥
1. User updates Iceman firmware
↓
2. User connects PM3 to GUI
↓
3. GUI detects new firmware version ✅
↓
4. GUI discovers new commands ✅
↓
5. GUI updates command cache ✅
↓
6. New commands appear in UI ✅
NO CODE CHANGES NEEDED! 🎉
-
PM3 Command Parser (
pm3_command_parser.py)- Parses
helpoutput - Discovers commands dynamically
- Caches for performance
- Auto-suggestions
- Parses
-
Compatibility Layer (
pm3_compatibility.py)- Detects firmware version
- Normalizes command syntax
- Checks device capabilities (HF/LF/Flash/BT)
- Translates old → new commands
-
Command Profiles (
command_profiles.json)- User-editable JSON
- No coding required
- Shareable configs
- Custom workflows
-
CLI Passthrough
- Direct PM3 binary communication
- Real output, not simulated
- Full feature support
| Document | Description |
|---|---|
| 📖 README_CyberNinjaRFID.md | Complete user manual |
| 🚀 QUICKSTART.md | 3-step setup guide |
| ✨ FEATURES.md | Detailed feature list |
| 🔮 FUTURE_PROOF_DESIGN.md | Architecture deep-dive |
| 📋 PROJECT_SUMMARY.md | Project overview |
- Python 3.7+
- PyQt5 (GUI framework)
- pyserial (serial communication)
- Proxmark3 Iceman (firmware)
Install all:
pip install -r requirements.txtVerify setup:
python3 check_setup.py# Connect to PM3
1. Scan devices
2. Select port (e.g., COM3 or /dev/ttyACM0)
3. Connect
# Search for tags
- HF: Click "🔎 HF Search"
- LF: Click "🔍 LF Search"
# Read a card
- HF: Click "💳 HF 14a Reader"
- LF: Click "🎫 LF EM Reader"# Custom command profiles
1. Edit command_profiles.json
2. Add: {"My Scan": "hf search --extended"}
3. Reload GUI
4. New button appears!
# Command suggestions
1. Type "hf" in console
2. See suggestions appear
3. Press Tab to autocompleteEdit command_profiles.json:
{
"🆕 My Category": {
"Custom Scan": "hf search --extended",
"Quick Clone": "lf em 410x clone --id {UID}"
}
}Edit config.json:
{
"colors": {
"background": "#0a0e27",
"foreground": "#00ff88",
"accent": "#00ffff"
}
}Edit config.json:
{
"ui": {
"max_output_lines": 1000,
"font_size": 10,
"auto_scroll": true
}
}- ✅ Modern cyberpunk theme
- ✅ Auto device detection
- ✅ Dynamic command discovery
- ✅ Future-proof architecture
- ✅ User customization without coding
- ✅ Doesn't break on firmware updates
- ✅ No hard-coded commands
- ✅ Actively maintained design
- ✅ Community-editable profiles
- ✅ Built to last years, not months
- Ensure Proxmark3 client is compiled with Python/SWIG support
- Check:
../proxmark3/client/pyscripts/pm3.pyexists
- Verify USB connection
- Install PM3 drivers
- On Linux:
sudo usermod -a -G dialout $USER
pip install PyQt5sudo chmod 666 /dev/ttyACM0Want to help? Here's how:
- Add Command Profiles: Edit
command_profiles.json - Report Bugs: Open an issue
- Suggest Features: Open a discussion
- Submit PRs: Fork → Code → PR
- Share Configs: Share your
command_profiles.json
- 3 Python modules (1,175 lines total)
- 5 UI tabs (Console, Device, HF, LF, Scripts)
- 15+ quick commands (expandable via profiles)
- 50+ emojis (because why not? 😎)
- 3 platforms (Windows, Linux, macOS)
- ∞ firmware compatibility (future-proof!)
Every PM3 GUI before this died within 6-12 months because:
- Hard-coded commands broke on updates
- Developers couldn't keep up with Iceman changes
- GUIs became obsolete and abandoned
CyberNinjaRFID adapts automatically because:
- Commands are discovered, not hard-coded
- Direct PM3 communication (no reimplementation)
- Compatibility layer handles version differences
- Users customize without code changes
A GUI that will work for YEARS! 🚀
This project follows the Proxmark3 Iceman license.
- Proxmark3 Team - For the incredible hardware
- Iceman - For the amazing firmware fork
- CyberNinja - For the theme inspiration
- Community - For feedback and support
"Build a GUI that outlives firmware changes."
While other GUIs die in 6 months, CyberNinjaRFID adapts automatically to:
- ✅ New commands
- ✅ Syntax changes
- ✅ Feature additions
- ✅ Hardware capabilities
This is the LAST PM3 GUI you'll ever need! 🔥
# 1. Install dependencies
pip install -r requirements.txt
# 2. Run the GUI
./run_cyberninja_rfid.sh # or .bat on Windows
# 3. Connect and hack!
# Click "Scan" → Select device → Connect → Done! 🎉Welcome to the future of PM3 GUIs! 🔥💀