allow python to locate native plugin methods

Open
#2,443 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp, python

Research direction

The issue identifies no files or tests; start by tracing the public plugin and API boundaries used by native and Python plugins. Done means an API can locate a function pointer by plugin name and function name, with the lookup behavior covered by appropriate tests.

Written by the indexing model from the issue text.

Description

Component: API Effort: Low Impact: Low

Is your feature request related to a problem? Please describe.
Given a native Binary Ninja plugin with some functionality exposed via APIs, those APIs should be available to call from python plugins.

Describe the solution you'd like
add an API to look up a function pointer by plugin name and function name -- note that this still does not directly solve the problem of calling that function (use ctypes or similar), but would simplify this process.

Describe alternatives you've considered
Alternatively could provide a more robust API broker system through the core but it's likely overkill for the relatively small number of times this API would be needed where both a BN python plugin and a native BN plugin must coordinate

Additional context
BinDiff has as model that would benefit from this API

Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Vector35/binaryninja-api

All issues in Vector35/binaryninja-api

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.