Tutorial Guide¶
Note
Navigation: Home | Getting Started | Hardware | Software | API Reference | Development | Troubleshooting
This section provides step-by-step procedures for common KISS Fuzzer operations and advanced analysis techniques.
Tutorial 1: Basic Device Identification¶
Objective: Identify and catalog unknown devices using JTAG/SWD scanning
Prerequisites: KISS Fuzzer device, target hardware with accessible debug interface, connection cables
Estimated Time: 15-30 minutes
Hardware Setup Procedure¶
Establish proper connections between KISS Fuzzer and target device:
Power Down: Ensure both devices are powered off before making connections
Ground Connection: Connect ground reference first to establish common potential
Signal Connections: Wire JTAG signals according to target pinout:
KISS Fuzzer → Target Device VCC → Target VCC (verify voltage compatibility) TCK → Test Clock TMS → Test Mode Select TDI → Test Data In TDO → Test Data Out
Power Sequence: Power on KISS Fuzzer first, then target device
Scan Execution¶
Perform systematic device discovery:
Menu Navigation: Access Main Menu → JTAG Scan → Auto Detect
Voltage Configuration: Set appropriate target voltage (1.8V, 3.3V, or 5V)
Scan Initiation: Execute scan and monitor progress on display
Result Analysis: Review detected devices and identification codes
Result Interpretation¶
Scan results provide multiple identification parameters:
Device Information:
Device count in JTAG chain
IDCODE values (32-bit identification)
Manufacturer identification (decoded from IDCODE)
Part number and revision information
Example Output:
Scan Complete: 1 Device Found
IDCODE: 0x4BA00477
Manufacturer: ARM Ltd
Architecture: Cortex-M4
IR Length: 4 bits
Tutorial 2: Memory Dumping¶
Extract firmware or data from target device memory.
Step 1: Identify Target¶
Perform initial JTAG scan
Note device type and capabilities
Check if debug access is enabled
Step 2: Configure Dump Parameters¶
Navigate to Manual Mode → Memory Operations
Set start address (e.g., 0x08000000 for STM32 flash)
Set dump size (start small, e.g., 1KB)
Choose output format (binary, hex, or both)
Step 3: Execute Dump¶
Start dump operation
Monitor progress on display
Wait for completion confirmation
Check SD card for output file
Step 4: Analyze Results¶
Download file via web interface
Use hex editor or disassembler
Look for:
Reset vectors
String constants
Firmware version info
Encryption signatures
Tutorial 3: Power Glitch Attacks¶
Use voltage glitching to bypass security mechanisms.
⚠️ Safety Warning¶
Power glitching can permanently damage target devices. Only use on devices you own or have permission to test.
Step 1: Setup¶
Connect power glitch output to target VCC
Ensure proper grounding
Set target voltage to normal operating level
Configure glitch parameters conservatively
Step 2: Basic Glitch Test¶
Navigate to Glitch Tool → Voltage Glitch
Set initial parameters:
Delay: 1000μs
Width: 10μs
Voltage drop: 10%
Enable continuous monitoring
Start glitch sequence
Step 3: Parameter Tuning¶
Monitor target behavior
Adjust timing parameters:
Increase/decrease delay
Vary glitch width
Change voltage levels
Document interesting responses
Save successful parameters
Step 4: Automated Sweeping¶
Configure parameter ranges
Enable automatic sweeping
Monitor for anomalous behavior
Log all attempts for analysis
Tutorial 4: Web Interface Usage¶
Access advanced features through the web interface.
Step 1: Connection¶
Connect to KISS Fuzzer Wi-Fi network
Open browser to http://192.168.4.1
Verify connection status
Step 2: Remote Scanning¶
Navigate to Scan Control tab
Configure scan parameters
Start remote scan
Monitor real-time progress
Step 3: Log Analysis¶
Open Log Viewer tab
Filter by log level or time range
Search for specific events
Export logs for offline analysis
Step 4: File Management¶
Browse SD card contents
Download scan results
Delete old files to free space
Upload configuration files
Tutorial 5: Custom Protocol Implementation¶
Extend KISS Fuzzer for proprietary interfaces.
Step 1: Protocol Analysis¶
Document signal timing requirements
Identify command structure
Map pin functions
Note voltage levels
Step 2: PIO Program Development¶
Create new .pio file
Implement protocol timing
Add to CMakeLists.txt
Test basic communication
Step 3: C Interface¶
Add functions to jtag.c
Implement protocol logic
Add error handling
Document new APIs
Step 4: UI Integration¶
Add menu options
Implement user controls
Add status display
Test complete workflow
Advanced Tips¶
Debugging Techniques¶
Use oscilloscope to verify signals
Check voltage levels with multimeter
Monitor current consumption for clues
Compare with known-good reference
Performance Optimization¶
Adjust PIO clock dividers for speed
Use DMA for large transfers
Optimize memory allocation
Profile code execution time
Troubleshooting Common Issues¶
Problem |
Likely Cause |
Solution |
|---|---|---|
No devices detected |
Wrong pinout |
Try auto-detect mode |
Scan timeout |
Target not powered |
Check power connections |
Corrupted data |
Signal integrity |
Reduce scan frequency |
Web interface slow |
Wi-Fi interference |
Change Wi-Fi channel |