This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a template for developing IDA Pro plugins using the QScripts hot-reload workflow. The plugin lists non-library functions in the current database.
Always use the ida-cmake agent for building:
Task with subagent_type="ida-cmake"
- IDASDK: Environment variable must be set to IDA SDK path
- IDAX: Must be installed at
$IDASDK/include/idax/ - ida-cmake: Must be installed at
$IDASDK/ida-cmake/
driver.cpp: IDA plugin interface boilerplate (PLUGIN structure and plugmod_t implementation)main.cpp: Core plugin logic - implement your functionality hereidasdk.h: Consolidated IDA SDK header includes with warning suppressionCMakeLists.txt: Build configuration using ida-cmake
- Type: PLUGIN_UNL | PLUGIN_MULTI (unloadable, multi-instance)
- Entry Point:
main()function in main.cpp receives size_t argument - Current Function: Enumerates all non-library functions and prints their names
This template is designed for use with QScripts hot-reload:
- Parent directory contains
qscripts_native.py.deps.qscriptswith trigger file configuration - Built plugin outputs to
$IDASDK/bin/plugins/qscripts_native[.dll/.so/.dylib] - QScripts monitors the output file and automatically reloads on changes
When answering SDK/API questions, search and read from:
- SDK Headers:
$IDASDK/include- All headers have docstrings - SDK Examples:
$IDASDK/plugins,$IDASDK/loaders,$IDASDK/module