FunCap is a debugging-time function call capture script originally written by deresz under the GPL-2.0 license.
It records function calls, arguments, register states, stack values, and annotates the IDA disassembly with runtime information.
This fork updates FunCap to work reliably with IDA Pro 9.1 and modern Python 3.x, addressing API changes that caused crashes in the original version.
Original repository:
π https://github.com/deresz/funcap
- Replaced deprecated or removed APIs (e.g.,
get_inf_structure()). - Adapted SWIG-backed debug hooks to the current IDA 9.x model.
- Patched
get_num_args_stack()to avoidNoneTypearithmetic errors. - Added safe fallback behavior when IDA cannot determine frame size.
- Ensures reliable call/ret handling even when IDA analysis is incomplete.
- Patched the mandatary importing of
six - Add adoption of python build-in "range"
- Copy
funcap.pyinto your IDA script or plugin directory. - Load it in IDA:
File β Script Fileβ¦ β funcap.py - Ensure a debugger is selected.
- Turn FunCap ON:
d.on()
d.hookFunc()d.hookSeg()Original Author: deresz
IDA 9.1 Patch: ashley-920
GPL-2.0, identical to the original project.