QScripts streamlines IDA Pro add-on development by automatically reloading plugins, loaders, and processors when their compiled binaries change—no need to restart IDA Pro. This greatly accelerates the development cycle and boosts productivity.
This directory provides example native add-ons (plugins, loaders, processors) show casing QScripts' hot-reload workflow for rapid iteration and testing.
Basic plugin template for general IDA Pro plugin development.
Advanced plugin integrating the Triton dynamic binary analysis framework.
Template for developing custom file format loaders (with mock accept_file and load_file implementations).
-
Navigate to the add-on directory:
cd test_addons/<addon_name>
-
Configure with CMake:
cmake -B build -A x64
-
Build the add-on:
cmake --build build --config RelWithDebInfo
The compiled binary will be automatically installed to:
- Plugins:
%IDASDK%/bin/plugins/ - Loaders:
%IDASDK%/bin/loaders/ - Processors:
%IDASDK%/bin/procs/
import time
import idaapi
# Give the linker time to finish
time.sleep(1)
# Load your plugin (adjust name and arguments as needed)
idaapi.load_and_run_plugin('your_addon_name', 0)Create a .deps.qscripts file to specify what triggers reloading:
# Monitor the compiled plugin DLL
/triggerfile /keep $env:IDASDK$/bin/plugins/your_addon$ext$
- Open QScripts chooser
- Navigate to your Python script
- Press
Enterto activate monitoring - The script name appears in bold when active
- Modify your C++ code
- Rebuild the add-on
- QScripts automatically detects changes and reloads
- No IDA restart required!