Home

Awesome

FunctionTrapperKeeper

Function Trapper Keeper is an IDA plugin for writing and storing notes related to functions in IDBs. Text is entered in the Editor window and displayed in the Preview window.

Features

Function Trapper Keeper has the following features:

Installation

Function Trapper Keeper has to be installed as an IDA Plugin. The following steps can be used to install the plugin.

git clone https://github.com/alexander-hanel/FunctionTrapperKeeper.git
cd FunctionTrapperKeeper
copy function_trapper_keeper.py %IDAUSR%\plugins 

Note: if %IDAUSR% is not present or you don't know where this path is on your host, it can be found using IDAPython from the Output Window.

Python>import ida_diskio
Python>ida_diskio.get_user_idadir()
'C:\\Users\\yolo\\AppData\\Roaming\\Hex-Rays\\IDA Pro'

If a directory named plugins is not present, it needs to be created.

Requirements

Function Trapper Keeper uses ida-netnode. Persistent data can be stored in IDA using the "array" set of functions within IDAPython but each node stores a maximum of 1024 bytes. ida-netnode removes this limitation. For anyone curious about IDA's netnodes, ida-netnode's docstring is worth reading.

The following commands should work for installing ida-netnode.

C:\Users\yolo\Documents\repo\FunctionTrapperKeeper>python -m pip install -r requirements.txt

or maybe try...

git clone https://github.com/williballenthin/ida-netnode.git
cd ida-netnode 
python setup.py install 

Note: If after restarting IDA, the command from netnode import netnode fails when imported from IDAPython, you might need to use a different version Python to install ida-netnode. I believe the following command can be used to find the path used by IDAPython.

Python>import sys
Python>sys.exec_prefix
'C:\\Users\\yolo\\AppData\\Local\\Programs\\Python\\Python37'

Usage

Enable

Edit >> Plugins >> Function Trapper Keeper

or

Ctrl-Shift-N

Example

Example

TODO