IDA Netnode

raw JSON →
3.0.0 verified Fri May 01 auth: no python

A library providing a humane API for storing and accessing persistent data in IDA Pro databases using netnodes. Version 3.0.0 is the latest. Release cadence is irregular.

pip install ida-netnode
error ImportError: No module named ida_netnode
cause The package is not installed, or you are running IDA's bundled Python without the package.
fix
Run pip install ida-netnode inside IDA's Python environment (e.g., using IDA's pip).
error AttributeError: module 'netnode' has no attribute 'Netnode'
cause Using wrong import path (import netnode instead of from ida_netnode import Netnode).
fix
Use from ida_netnode import Netnode.
error ValueError: Netnode name must be a string
cause Passing a non-string as the netnode name.
fix
Ensure the name is a string, e.g., Netnode('my_netnode').
breaking v3.0.0 is incompatible with data stored by v2.0.x. v3 reverts to v1 serialization format. If you have data from v2, migrate before upgrading.
fix Read data using v2, then write it back using v3 (or keep v2 if you need the old data).
gotcha Netnode names must be unique within an IDB. Using an existing name reopens the same netnode.
fix Use unique names or check existence with Netnode.exist() before creating.
deprecated Python 2 is no longer supported since v2.0.0.
fix Upgrade to v2+ and use Python 3.

Create or open a netnode by name, then use dict-like access to store/retrieve persistent data.

from ida_netnode import Netnode

netnode = Netnode('my_data')
netnode['key'] = 'value'
print(netnode['key'])