# \#idapython

**URL:** https://community.hex-rays.com/tag/idapython/9.md

[Latest](https://community.hex-rays.com/latest.md) · [Categories](https://community.hex-rays.com/categories.md) · [Tags](https://community.hex-rays.com/tags.md)

---

## [How to use uv with idapython](https://community.hex-rays.com/t/how-to-use-uv-with-idapython/808)

<div class="topic-metadata">

**Author:** [@devsuna](https://community.hex-rays.com/u/devsuna)\
**Replies:** 2\
**Last updated:** [October 27, 2026, 10:49am UTC](https://community.hex-rays.com/t/how-to-use-uv-with-idapython/808 "2026-10-27T10:49:37Z")

</div>

I want use my virtural python environment. I use the uv venv create a virtural environment. How to let it work well?:grinning\_face:

---

## [Stop building offical MCP server](https://community.hex-rays.com/t/stop-building-offical-mcp-server/830)

<div class="topic-metadata">

**Author:** [@supplier](https://community.hex-rays.com/u/supplier)\
**Replies:** 7\
**Last updated:** [October 21, 2026, 8:45am UTC](https://community.hex-rays.com/t/stop-building-offical-mcp-server/830 "2026-10-21T08:45:08Z")

</div>

Don’t waste your time building an official MCP server - just focus on implementing the long-missing CLI version like this one. AI agents will use it smoothly too, benefiting both humans and machines at the same time. ./…

---

## [Using a virtualenv for IDAPython](https://community.hex-rays.com/t/using-a-virtualenv-for-idapython/261)

<div class="topic-metadata">

**Author:** [@williballenthin](https://community.hex-rays.com/u/williballenthin)\
**Replies:** 8\
**Last updated:** [April 27, 2026, 1:14pm UTC](https://community.hex-rays.com/t/using-a-virtualenv-for-idapython/261 "2026-04-27T13:14:13Z")

</div>

Since I just migrated to a new IDA installation, I thought I’d write up my current setup for working with Python virtual environments. Do you all have any other tricks for this? Original post: Using a virtualenv for IDA…

---

## [How to check whether a function is marked as decompiled?](https://community.hex-rays.com/t/how-to-check-whether-a-function-is-marked-as-decompiled/680)

<div class="topic-metadata">

**Author:** [@0x154](https://community.hex-rays.com/u/0x154)\
**Replies:** 2\
**Last updated:** [February 19, 2026, 6:31pm UTC](https://community.hex-rays.com/t/how-to-check-whether-a-function-is-marked-as-decompiled/680 "2026-02-19T18:31:56Z")

</div>

Hi everyone! I’m trying to make a plugin which dumps function pseudocode if the function has been marked as decompiled however, I’m struggling to find the API which tells me if function has been marked as decompiled. Do…

---

## [Passing arguments to "Load DWARF" plugin](https://community.hex-rays.com/t/passing-arguments-to-load-dwarf-plugin/454)

<div class="topic-metadata">

**Author:** [@b3ntx](https://community.hex-rays.com/u/b3ntx)\
**Replies:** 5\
**Last updated:** [December 22, 2025, 3:28pm UTC](https://community.hex-rays.com/t/passing-arguments-to-load-dwarf-plugin/454 "2025-12-22T15:28:05Z")

</div>

I’m working on a script that incorporates some DWARF debug information into an existing IDB. As part of this, I rely on the builtin DWARF plugin, however I can’t seem to find how to invoke this plugin with an argument - …

---

## ["Hush" output window](https://community.hex-rays.com/t/hush-output-window/172)

<div class="topic-metadata">

**Author:** [@JMascagni](https://community.hex-rays.com/u/JMascagni)\
**Replies:** 2\
**Last updated:** [November 9, 2025, 10:01pm UTC](https://community.hex-rays.com/t/hush-output-window/172 "2025-11-09T22:01:37Z")

</div>

I am running some error-agnostic code in my plugin and I would like to “hush” the output window so that there is not that much spam. Specifically, I am parsing a series of type declarations with parse\_decls\_for\_srclang w…

---

## [Trick if you are using IDA in a virtual machine](https://community.hex-rays.com/t/trick-if-you-are-using-ida-in-a-virtual-machine/531)

<div class="topic-metadata">

**Author:** [@Harding](https://community.hex-rays.com/u/Harding)\
**Replies:** 1\
**Last updated:** [October 15, 2025, 8:49am UTC](https://community.hex-rays.com/t/trick-if-you-are-using-ida-in-a-virtual-machine/531 "2025-10-15T08:49:01Z")

</div>

I use IDA Pro in a virtual machine and I use a little trick to update plugins without messing with the guest machine: I mount a directory inside the virtual machine as read-only from the host. I call this Z:\\readonly I…

---

## [How to check if idapythonrc.py is running in IDA Pro or idalib?](https://community.hex-rays.com/t/how-to-check-if-idapythonrc-py-is-running-in-ida-pro-or-idalib/297)

<div class="topic-metadata">

**Author:** [@williballenthin](https://community.hex-rays.com/u/williballenthin)\
**Replies:** 3\
**Last updated:** [October 8, 2025, 9:46am UTC](https://community.hex-rays.com/t/how-to-check-if-idapythonrc-py-is-running-in-ida-pro-or-idalib/297 "2025-10-08T09:46:17Z")

</div>

I’ve found that idapythonrc.py is loaded both by IDA Pro (the user interface) and idalib. However, there’s some configuration that I only want applied when running within IDA Pro (the user interface), such as pre-configu…

---

## [IDA Python, get selected text](https://community.hex-rays.com/t/ida-python-get-selected-text/279)

<div class="topic-metadata">

**Author:** [@Harding](https://community.hex-rays.com/u/Harding)\
**Replies:** 4\
**Last updated:** [September 22, 2025, 11:07am UTC](https://community.hex-rays.com/t/ida-python-get-selected-text/279 "2025-09-22T11:07:02Z")

</div>

I want to get the selected text from a given widget. I know about the example dump\_selection.py but there are at least 2 major bugs in that code and I have tried to fix it but reading that code is insane. How can there n…

---

## [How to get xrefs to field in IDApython](https://community.hex-rays.com/t/how-to-get-xrefs-to-field-in-idapython/427)

<div class="topic-metadata">

**Author:** [@yoavst](https://community.hex-rays.com/u/yoavst)\
**Replies:** 2\
**Last updated:** [September 17, 2025, 1:53pm UTC](https://community.hex-rays.com/t/how-to-get-xrefs-to-field-in-idapython/427 "2025-09-17T13:53:29Z")

</div>

I’m trying to fetch the results of “jump to xref globally” for a combination of a tinfo\_t and an offset. (I know they depend on caching, it is part of an advance xref plugin). I tried to find xrefs using the following c…

---

## [How to select architecture using idalib?](https://community.hex-rays.com/t/how-to-select-architecture-using-idalib/174)

<div class="topic-metadata">

**Author:** [@Mas0n](https://community.hex-rays.com/u/Mas0n)\
**Replies:** 25\
**Last updated:** [September 16, 2025, 3:03am UTC](https://community.hex-rays.com/t/how-to-select-architecture-using-idalib/174 "2025-09-16T03:03:16Z")

</div>

I want to analysis a Universal macOS Binary, it’s include a multi-arch binary (x64 & ARM), and when I use idalib in python, it’s cannot be select arch manually. e.g. import idapro # copy /System/Applications/Books.app/…

---

## [How to get unfolded disassembly text in idapython?](https://community.hex-rays.com/t/how-to-get-unfolded-disassembly-text-in-idapython/396)

<div class="topic-metadata">

**Author:** [@s0duku](https://community.hex-rays.com/u/s0duku)\
**Replies:** 9\
**Last updated:** [July 30, 2025, 6:19am UTC](https://community.hex-rays.com/t/how-to-get-unfolded-disassembly-text-in-idapython/396 "2025-07-30T06:19:31Z")

</div>

Hi, I know gen\_disasm\_text can be used to fetch disasm text from address \[start, end), but looks like it will not auto unfold the item. Also is there any way I can get disasm text line by line from a address?

---

## [How do you set call type to cexpr\_t from ida-python](https://community.hex-rays.com/t/how-do-you-set-call-type-to-cexpr-t-from-ida-python/386)

<div class="topic-metadata">

**Author:** [@yoavst](https://community.hex-rays.com/u/yoavst)\
**Replies:** 3\
**Last updated:** [July 14, 2025, 8:26am UTC](https://community.hex-rays.com/t/how-do-you-set-call-type-to-cexpr-t-from-ida-python/386 "2025-07-14T08:26:23Z")

</div>

From the GUI you can use “set call type” or “force call type” to change the call type of a cexpr\_t in the decompilation. I would like to create a plugin that uses PAC signature for iOS to force call typed from idapython…

---

## [IDA 9.1 Linux breaks Pyside6.QtWidgets.QWidget.setLayout](https://community.hex-rays.com/t/ida-9-1-linux-breaks-pyside6-qtwidgets-qwidget-setlayout/230)

<div class="topic-metadata">

**Author:** [@Harding](https://community.hex-rays.com/u/Harding)\
**Replies:** 4\
**Last updated:** [May 15, 2025, 8:26am UTC](https://community.hex-rays.com/t/ida-9-1-linux-breaks-pyside6-qtwidgets-qwidget-setlayout/230 "2025-05-15T08:26:17Z")

</div>

there is a file in the examples directory named populate\_pluginform\_with\_pyqt\_widgets.py I cannot run that in IDA 9.1 Linux. I get the error: TypeError: 'Pyside6.QtWidgets.QWidget.setLayout' called with wrong argument …

---

## [Ida\_loader.gen\_file, does it throw exceptions?](https://community.hex-rays.com/t/ida-loader-gen-file-does-it-throw-exceptions/293)

<div class="topic-metadata">

**Author:** [@Harding](https://community.hex-rays.com/u/Harding)\
**Replies:** 1\
**Last updated:** [April 22, 2025, 9:08am UTC](https://community.hex-rays.com/t/ida-loader-gen-file-does-it-throw-exceptions/293 "2025-04-22T09:08:58Z")

</div>

In your example here you do not have any try around it but check the retval while here you do not check the return value but rather wrap it in a try catch. Which one is correct?

---

## [Read configuration values from hexrays.cfg (and ida.cfg)](https://community.hex-rays.com/t/read-configuration-values-from-hexrays-cfg-and-ida-cfg/243)

<div class="topic-metadata">

**Author:** [@Harding](https://community.hex-rays.com/u/Harding)\
**Replies:** 2\
**Last updated:** [March 20, 2025, 1:02pm UTC](https://community.hex-rays.com/t/read-configuration-values-from-hexrays-cfg-and-ida-cfg/243 "2025-03-20T13:02:19Z")

</div>

I have found ida\_hexrays.change\_hexrays\_config() which can set values but I want to read them instead so I was hoping to find something in the style of: ida\_hexrays.read\_hexrays\_config() ida\_hexrays.get\_hexrays\_config…

---

## [Hook struct member renaming](https://community.hex-rays.com/t/hook-struct-member-renaming/216)

<div class="topic-metadata">

**Author:** [@urielm](https://community.hex-rays.com/u/urielm)\
**Replies:** 1\
**Last updated:** [March 20, 2025, 11:00am UTC](https://community.hex-rays.com/t/hook-struct-member-renaming/216 "2025-03-20T11:00:51Z")

</div>

Hi, while trying to adapt ida\_kcpp to ida 8.4 (and next to ida 9.0) we figured that ida\_idp.IDB\_Hooks.renaming\_struc\_member was removed at some point. I’ve looked into the porting guide and seen that the suggested alter…

---

## [Appcall typedobj issues](https://community.hex-rays.com/t/appcall-typedobj-issues/173)

<div class="topic-metadata">

**Author:** [@deadnull](https://community.hex-rays.com/u/deadnull)\
**Replies:** 9\
**Last updated:** [March 10, 2025, 9:48pm UTC](https://community.hex-rays.com/t/appcall-typedobj-issues/173 "2025-03-10T21:48:19Z")

</div>

What is the trick to get this working with Appcall? Both 32 and 64 bit do not seem to work. def get\_struct\_info(struct\_name: str): sid = idaapi.get\_named\_type\_tid(struct\_name) tif = idaapi.tinfo\_t(tid=sid) u…

---

## [Parsing templated types](https://community.hex-rays.com/t/parsing-templated-types/100)

<div class="topic-metadata">

**Author:** [@mistahmikey](https://community.hex-rays.com/u/mistahmikey)\
**Replies:** 2\
**Last updated:** [January 27, 2025, 11:49am UTC](https://community.hex-rays.com/t/parsing-templated-types/100 "2025-01-27T11:49:12Z")

</div>

Ah - thanks very much. I have another question for you if you don’t mind. I am trying to use various features in the python api to compile a type declaration snippet into a tinfo\_t object. I would like these declaratio…

---

## [Return argument for ida 9 ida\_bytes.bin\_search are not as documented](https://community.hex-rays.com/t/return-argument-for-ida-9-ida-bytes-bin-search-are-not-as-documented/69)

<div class="topic-metadata">

**Author:** [@mistahmikey](https://community.hex-rays.com/u/mistahmikey)\
**Replies:** 1\
**Last updated:** [January 24, 2025, 3:02pm UTC](https://community.hex-rays.com/t/return-argument-for-ida-9-ida-bytes-bin-search-are-not-as-documented/69 "2025-01-24T15:02:43Z")

</div>

The documentation says this should be the matching address if the search is successful, otherwise ida\_idaapi.BADADDR. But for some reason when I call this, it returns a tuple. Is this a bug? It looks like the first …

---

## [How to automate structure creation with IDAPython?](https://community.hex-rays.com/t/how-to-automate-structure-creation-with-idapython/37)

<div class="topic-metadata">

**Author:** [@teresa\_hexrays](https://community.hex-rays.com/u/teresa_hexrays)\
**Replies:** 1\
**Last updated:** [January 24, 2025, 2:21pm UTC](https://community.hex-rays.com/t/how-to-automate-structure-creation-with-idapython/37 "2025-01-24T14:21:33Z")

</div>

Manually creating structures in IDA Pro can be time-consuming, but some of you were wondering how to automate this process with updated IDA 9.0 endpoints for Types and how to port removed functions when ida\_struct and id…

---

## [IDAPython on IDA 9: idc.SEARCH\_DOWN does no longer exists?](https://community.hex-rays.com/t/idapython-on-ida-9-idc-search-down-does-no-longer-exists/58)

<div class="topic-metadata">

**Author:** [@BigBug](https://community.hex-rays.com/u/BigBug)\
**Replies:** 1\
**Last updated:** [January 22, 2025, 4:13pm UTC](https://community.hex-rays.com/t/idapython-on-ida-9-idc-search-down-does-no-longer-exists/58 "2025-01-22T16:13:15Z")

</div>

I have an IDAPython script that uses idc.SEARCH\_DOWN. Now on IDA 9 it doesn’t work anymore: 'idc' has no attribute 'SEARCH\_DOWN' idc.ida\_search.find\_not\_func(text\_start, idc.SEARCH\_DOWN) The migration guide doesn’t say…

---

## [About the Plugins category](https://community.hex-rays.com/t/about-the-plugins-category/20)

<div class="topic-metadata">

**Author:** [@Geoffrey](https://community.hex-rays.com/u/Geoffrey)\
**Replies:** 0\
**Last updated:** [December 6, 2024, 11:42am UTC](https://community.hex-rays.com/t/about-the-plugins-category/20 "2024-12-06T11:42:33Z")

</div>

This is the go-to space for discussing plugin-related topics, whether you’re working with IDAPython or the C++ SDK. Facing challenges adapting your plugins to the latest IDA API? Share your code with the community and ga…
