-
Please explain the differences between things in the Python API that are "active" and things that are "passive". |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
First, a quick refresher: Binary Ninja has a C++ core with a C API for binary compatibility (and multi-language bindings) and its most popular (but not only!) API for plugins is Python. That means when you use the Python API to request an objet from the core, some of those objects will represent a currently live, active object in the core. Changes you make in the core will be immediately reflected in the Python API and vice-versa. For example:
Function objects are active. (One rule of thumb is that if the python class has a handle, it's live) Other objects in the Python API are
We're currently in the process of adding better documentation around objects in the API that are passive to make this less surprising (using the |
Beta Was this translation helpful? Give feedback.
First, a quick refresher: Binary Ninja has a C++ core with a C API for binary compatibility (and multi-language bindings) and its most popular (but not only!) API for plugins is Python. That means when you use the Python API to request an objet from the core, some of those objects will represent a currently live, active object in the core. Changes you make in the core will be immediately reflected in the Python API and vice-versa.
For example:
Function objects are active.
(One rule of thumb is that if the python c…