Skip to content

bivex/funcap-ida9

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

106 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FunCap – Updated for IDA Pro 9.x

πŸ“Œ Overview

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

πŸ› οΈ Changes in This Fork (IDA 9.1 Compatibility)

βœ” Updated for IDA 9.1 debugger API

  • Replaced deprecated or removed APIs (e.g., get_inf_structure()).
  • Adapted SWIG-backed debug hooks to the current IDA 9.x model.

βœ” Fixed crashes during stack argument analysis

  • Patched get_num_args_stack() to avoid NoneType arithmetic errors.
  • Added safe fallback behavior when IDA cannot determine frame size.
  • Ensures reliable call/ret handling even when IDA analysis is incomplete.

βœ” Remove the dependency on six

  • Patched the mandatary importing of six
  • Add adoption of python build-in "range"

πŸš€ Usage

  1. Copy funcap.py into your IDA script or plugin directory.
  2. Load it in IDA:
    File β†’ Script File… β†’ funcap.py
    
  3. Ensure a debugger is selected.
  4. Turn FunCap ON:
    d.on()

Hook calls in the current function:

d.hookFunc()

Hook calls in the current segment:

d.hookSeg()

πŸ§‘β€πŸ’» Credits

Original Author: deresz
IDA 9.1 Patch: ashley-920

πŸ“œ License

GPL-2.0, identical to the original project.

About

πŸ”¬ IDA PLUGIN ENGINEERING. Advanced analysis. Plugin development. Disassembly mastery. Reverse engineer anything. πŸ› οΈ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%