# Plugins

IDA’s capabilities can be significantly extended through programmable plugins. These plugins can automate routine tasks, for example, enhance the analysis of hostile code or add a specific functionality to our disassembler.

Plugins can be developed using:

* C++ using the IDA SDK, or
* Python via the IDAPython API.

Key capabilities:

* **Integration with hotkeys**: plugins can be linked to specific hotkeys or menu items for quick access
* **Access to the IDB**: they have full access to the IDA database, allowing them to examine or modify the program or use Input/Output functions.

## Where to find plugins

### Development resources

* **Examples included with IDA C++ SDK**: Our SDK contains **+60 sample plugins**, including decompiler plugins (you can find them all inside the SDK directory, in the `plugins` folder), as well as source code to processor modules, loaders, and header files. You can download the latest version of IDA SDK from Download Center in [My Hex-Rays portal](https://my.hex-rays.com/dashboard/download-center/downloads), under SDK and Utilities.

### Built-in plugins

* **Plugins shipped with your IDA instance**: Explore the `plugins` directory in your IDA installation folder for plugins shipped out-of-the-box. You can run them through **Edit -> Plugins** submenu or via hotkeys.
  * **Explore plugin docs**: Learn more about built-in plugins through [dedicated tutorials](/9.1/user-guide/plugins/plugins-shipped-with-ida.md)

### Community plugins

* **Hex-Rays plugins repository**: To access a vast collection of community-developed plugins, visit our [plugins repository](https://plugins.hex-rays.com/). Here, you can explore additional plugins you may want to install, submit your own, and even participate in our annual plugin contest.

## Creating your own plugins

### Getting started: Domain API

If you're new to IDA and plugin development, the high-level [Domain API](https://ida-domain.docs.hex-rays.com/) is the best place to begin. It provides a broad coverage for common tasks and simplifies scripting, helping you get up and running quickly.

#### General Domain API Documentation Resources

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td></td><td></td><td><a href="https://ida-domain.docs.hex-rays.com/getting_started/">https://ida-domain.docs.hex-rays.com/getting_started/</a></td></tr><tr><td><strong>Examples</strong></td><td></td><td></td><td><a href="https://ida-domain.docs.hex-rays.com/examples/">https://ida-domain.docs.hex-rays.com/examples/</a></td></tr><tr><td><strong>Reference</strong></td><td></td><td></td><td><a href="https://ida-domain.docs.hex-rays.com/usage/">https://ida-domain.docs.hex-rays.com/usage/</a></td></tr></tbody></table>

### Advanced development: C++ and IDAPython SDK

Do you want to create advanced custom plugins and need more low-level control? Check our tutorials based on the language of your choice:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Create plugins with C++</strong></td><td></td><td></td><td><a href="/pages/EARxnEg6rrluizHF2laE">/pages/EARxnEg6rrluizHF2laE</a></td></tr><tr><td><strong>Create plugins with IDAPython</strong></td><td></td><td></td><td><a href="/pages/cWqRkwdav29enBZZOA95">/pages/cWqRkwdav29enBZZOA95</a></td></tr></tbody></table>

## What's next?

### Share your plugin with Hex-Rays community

Submit your plugin through [My Hex-Rays portal](https://my.hex-rays.com/dashboard/my-plugins) to have it listed in our official [plugins repository](https://plugins.hex-rays.com/). See our [submission guidelines](/9.1/user-guide/plugins/plugin-submission-guide.md) for the details.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/9.1/user-guide/plugins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
