Publishing your plugins
Do you want to share your IDA plugin with Hex-Rays community? To have your plugin featured in the official Hex-Rays plugin repository, follow our guide for submitting it through My Hex-Rays. The portal serves as a one-stop shop for plugin submission and maintenance, allowing you to manage and track all your submitted plugins in one place.
Pre-submission checklist
Before submitting your plugin to the Hex-Rays repository, make sure the following requirements are met:
Your plugin must be hosted in a public GitHub repository and include:
A
README.md
file with plugin overview, installation instructions and usage examples.An
ida-plugin.json
file containing the required metadata. See our guidelines on details.
The plugin has been tested and confirmed compatible with the latest IDA version.
Define plugin metadata with ida-plugin.json
ida-plugin.json
The ida-plugin.json
eases the organization of your plugin files (allows it to be self-contained in its own sub-directory) and smooths the process for accepting your plugin into our official plugin repository if you decide to share it with the community.
To work properly, the ida-plugin.json
file must contain at the very least the IDAMetadataDescriptorVersion
field as well as a plugin
object containing the fields described below.
Example of the ida-plugin.json
file:
Fields description
name
The name
will be used to identify the plugin and also generate a namespace name for it if necessary (e.g., an IDAPython plugin). The namespace name is generated by converting all non alphanumeric characters of the plugin name to underscores (_
) and prepending __plugins__
to it. For example "my plugin" would become __plugins__my_plugin
.
entryPoint
The filename of the "main" file for the plugin. It should be stored in the same directory as its ida-plugin.json
file. If the entryPoint
has no file extension, IDA will assume it is a native plugin and append the appropriate file extension for dynamic shared objects for the host platform (.dll
, .so
, .dylib
). For IDAPython plugins, this should typically be a .py
file (e.g., my-first-plugin.py
).
categories
Select at least one category to improve your plugin’s discoverability: disassembly-and-processor-modules
, file-parsers-and-loaders
, decompilation
, debugging-and-tracing
, deobfuscation
, collaboration-and-productivity
, integration-with-third-parties/interoperability
,api-scripting-and-automation
, ui-ux-and-visualization
, malware-analysis
, vulnerability-research-and-exploit-development
, other
logoPath
Include an image to visually represent your plugin on its page at plugins.hex-rays.com. This should be a relative path to an image file within your plugin’s repository. The recommended aspect ratio for the image is 16:9.
idaVersions
Declare which versions of IDA your plugin supports. You can specify a single version or a version range using the semantic versioning schema.
description
Summarize your plugin functionality.
version
Specify the version of your plugin. It must follow the x.y.z
format (e.g., 1.0.0
).
Submission process
Step 1: Submit a plugin via My Hex-Rays portal
Navigate to My Plugins tab in My Hex-Rays portal.
Click on Submit a Plugin button.
In the new dialog:
insert the URL for your public GitHub repository (1)
accept the T&C and confirm your ownership (2) then click Review.
If everything looks correct in the plugin details summary, click Submit Plugin to finalize your submission.
Step 2: Plugin review
Once submitted, your plugin status will change to Pending while it is reviewed by the Hex-Rays team.
If approved, the status will change to Accepted.
If your plugin becomes rejected, you'll be notified by email with further details.
Plugins management
Updating your plugin details
To reflect changes—such as updated categories—on your plugin’s page immediately:
Navigate to My Plugins tab in My Hex-Rays portal.
Find your plugin in the list and click View Details.
In the dialog, click Refresh to update the plugin information (this action sets the plugin's status back to Pending) and click Update Plugin to confirm changes.
The changes in your plugin README.md
and ida-plugin.json
files are monitored - when they get detected, your plugin status will change automatically to Pending.
Removing your plugin
To remove your plugin from the Hex-Rays plugin repository:
Navigate to My Plugins tab in My Hex-Rays portal.
Locate the plugin you want to remove.
Click Unpublish and confirm your decision.
Last updated
Was this helpful?