KISS Fuzzer UI Integration v0.9.0¶
Overview¶
This document describes the integration of the advanced JTAG fuzzing engine with the KISS Fuzzer UI system, providing interactive access to fuzzing commands through the device interface.
Features Added¶
2. Command Line Interface¶
Interactive command selection system that allows users to:
Navigate through predefined commands using UP/DOWN joystick
Execute commands with OK button
Return to fuzzing menu with BACK button
Available predefined commands:
help- Display help informationstatus- Show fuzzing engine statusdiscover- Run automatic pin discoveryscan- Scan JTAG chain for devicesfuzz random 100- Start random fuzzing (100 iterations)fuzz sequential 50- Start sequential fuzzing (50 iterations)boundary- Execute boundary scanstop- Stop current fuzzing session
3. UI State Management¶
New UI states added:
UI_STATE_FUZZING_MENU- Fuzzing submenu navigationUI_STATE_FUZZING_ACTION- Fuzzing operation in progressUI_STATE_COMMAND_LINE- Command line interface
4. Integration Architecture¶
The integration follows the modular KISS Fuzzer architecture:
UI Layer (ui.c/h)
↓
Command Interface (fuzz_commands.c/h)
↓
Fuzzing Engine (jtag_fuzzer.c/h)
↓
JTAG Hardware (jtag.c/h)
5. FreeRTOS Integration¶
Commands execute in the JTAG task context
UI updates through inter-task communication
Non-blocking operations with progress feedback
Safe task synchronization
Usage Instructions¶
Navigate to Fuzzing Menu
From main menu, select “Fuzzing”
Use joystick UP/DOWN to navigate options
Press OK to select
Quick Operations
Select “Pin Discovery” for automatic JTAG detection
Select “Quick Scan” for basic chain scanning
Select “Random Fuzz” for immediate fuzzing start
Advanced Commands
Select “Command Line” for full command access
Navigate commands with UP/DOWN
Execute with OK button
Monitor Progress
Select “Fuzz Status” to check active sessions
View real-time statistics and findings
Return to main menu anytime with BACK
Technical Implementation¶
Key Files Modified¶
src/ui.h- Added fuzzing states and function declarationssrc/ui.c- Implemented fuzzing menu and command integrationsrc/jtag_fuzzer.c- Added missingjtag_fuzzer_scan_chainfunction
Command Processing Flow¶
User selects command from UI
UI calls
ui_process_command()Command passed to
fuzz_commands_process()Command executed via fuzzing engine
Results displayed on OLED with status codes
Events logged to storage if available
Error Handling¶
Invalid commands show “INVALID ARGS” status
Engine not ready shows “NOT READY” status
Busy engine shows “BUSY” status
Success operations show “SUCCESS” with details
Future Enhancements¶
Command history navigation
Real-time fuzzing progress display
Custom command entry (with text input)
Fuzzing session management
Advanced result visualization
Wi-Fi remote control integration
Testing¶
The integration has been tested with:
✅ Build system compilation
✅ Menu navigation simulation
✅ Command interface validation
✅ FreeRTOS task integration
Ready for hardware testing and real-world validation.