Use the Settings tab to adjust various project configurations that optimize your fuzzing process. You can update memory maps (and fix unmapped memory issues), patch out non-essential functions that slow down fuzzing, and configure exit hooks.
Settings changes only affect new runs started after the changes. Existing or previous runs remain unaffected.
1. Access the Settings Menu
Open the Settings tab from the left-hand side menu.
2. Fix Unmapped Memory
Within the Settings view, you can update memory maps to match your firmware’s layout. This ensures the fuzzer accurately understands the firmware’s memory regions. Additionally, if you encounter notifications during boot regarding unmapped memory, simply add the missing memory map entry using your board’s reference manual or known firmware layout.
3. Patch Out Non-Essential Functions
To improve fuzzing efficiency, patch out time-consuming functions that aren’t relevant to your fuzzing targets. Patching works by just-in-time rewriting these functions so they execute
bx lr
(jump to the link register) at runtime instead of running their full implementation.4. Configure Exit Hooks
Configure exit hooks to designate specific functions as indicators of error states. When these functions are called, the fuzzer will:
- Terminate the execution early.
- Refine future inputs to avoid reaching these error states.
5. Import / Export Project Settings
Project Settings can be exported to save time when creating a new project with a previously used binary. Navigate to the Project Settings menu and click the Export button.
On the New Project page, click the Import button to load your previously saved settings config.