Skip to main content

multifile-ida-plugin

An example IDA plugin that uses multiple files.

 multifile-ida-plugin
 ├── pyproject.toml
 ├── README.md
 └── src
     └── multifile_ida_plugin
         ├── __init__.py
         └── plugin
             └── __init__.py

There is a library multifile_ida_plugin with arbitrary code (in this case, a function multifile_ida_plugin.hello).

def hello():
  print("hello from Python (multifile)")

Then, there's an IDA plugin found in multifile_ida_plugin.plugin which corresponds to the file src/multifile_ida_plugin/plugin/__init__.py and contains the PLUGIN_ENTRY function expected by IDA.

import idaapi
import multifile_ida_plugin

class multifile_plugmod_t(idaapi.plugmod_t):
    def run(self, arg):
        multifile_ida_plugin.hello()
        return 0

class multifile_plugin_t(idaapi.plugin_t):
    ...
    def init(self):
        return multifile_plugmod_t()


def PLUGIN_ENTRY():
    return multifile_plugin_t()

The plugin invokes a routine from the library code, demonstrating how not all of the plugin code has to be bundled into the primary plugin file.

The pyproject.toml shows how to specify the location of the plugin:

[project.entry-points.'idapro.plugins']
idapython = "multifile_ida_plugin.plugin"

publishing

Published to PyPI as multifile-ida-plugin via the GH Action workflow publish-multifile-ida-plugin.yml.

Metadata

Release files for multifile-ida-plugin 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multifile-ida-plugin 0.1.0
File Size Uploaded
multifile_ida_plugin-0.1.0.tar.gz 2.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multifile-ida-plugin 0.1.0
File Interpreter ABI Platform
multifile_ida_plugin-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.7 kB

Release files / multifile_ida_plugin-0.1.0.tar.gz

Download URL multifile_ida_plugin-0.1.0.tar.gz
Size 2.0 kB
Tags Source
SHA-256 checksum
How to use checksums
04129ecb6b85479c5bff8b8dc88f8c71d2105e546a2475a8ebde0dbdffbfe20c
BLAKE2b-256 checksum
How to use checksums
2d64f8e1e066445d72839f058471a0f3c9dc346c43488b618ba4b7764bff5fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2025.

Transparency log

Release files / multifile_ida_plugin-0.1.0-py3-none-any.whl

Download URL multifile_ida_plugin-0.1.0-py3-none-any.whl
Size 2.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
90f6404a3ea627623af517f031f8458ce494220f239a0094f84d22d81c8d320f
BLAKE2b-256 checksum
How to use checksums
67c4f32baf06a1ee8cae4d221d81871250d1f8428b8e8872fd92355d0093828a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page