29 Jan

IDA Plugin info

Here is a little utility I wrote to list IDA Pro plugin information.
About 30 plugins come with the default IDA install (~60 if you count the .p64 versions), then you start adding your own and with others off the web it can get a little difficult to manage.

IDA Plugin Info Example

I was curious to see if there were any hotkey conflicts,  any old versions, which ones were always resident (using the PLUGIN_FIX flag), and as some help to decide which ones to archive.

I needed to reduce the working set of plugins due to slow down issues while debugging my plug-ins.
When IDA loads up it queries each plugin in it’s “plugins” folder to see if it should load.
Checks the PLUGIN_FIX and PLUGIN_PROC flags to see if the plugin wants to stay resident, etc.

MS Visual Studio 2013 loads in DLLs very slowly while debugging.  Apparently it tries to load symbols for each regardless of what your “Options->Debugging->Symbols” settings are, and checks a symbol server if you don’t have  a copy in your local symbol cache.
Since normally I’d use only two of IDA’s debugging plugins (for Windows) I don’t need to keep the others around.

With this utility I could better see by looking at the plugin comment which was which and move a bunch of the unused ones to a “plugins_archive” folder.   Later I can use the utility from this folder to help me decided which ones to copy back in case I wanted to try a different debugger et al.

To use it just run “IdaPluginInfo.exe”, then select the plugins folder you want to examine.
See the flags in IDA SDK “loader.hpp” to understand what they are.  I.E. “PLUGIN_FIX  0x0080” indicates “stay resident”.

Download: https://sourceforge.net/projects/idaplugininfo/

Leave a Reply