/ida-qscripts

An IDA plugin to increase productivity when developing scripts for IDA

Primary LanguageC++MIT LicenseMIT

What is QScripts?

QScripts is productivity tool and an alternative to IDA's "Recent scripts" (Alt-F9) and "Execute Scripts" (Shift-F2) facilities. QScripts allows you to develop and run any supporting scripting language from the comfort of your own favorite text editor.

Quick introduction

Usage

Invoke QScripts from the plugins menu, press Ctrl-3 or its default hotkey Alt-Shift-F9. When it runs, the scripts list is empty. Just press "Ins" and select a script.

To execute a script, just press ENTER or double-click it. After running a script once, it will become the active script (shown in bold).

An active script will then be monitored for changes. If you modify the script in your favorite text editor and save it, then QScripts will execute the script for you automatically in IDA.

There are few options that can be configured in QScripts. Just press Ctrl+E or right-click and selection options:

  • Script monitor interval: controls the refresh rate of the script change monitor. Ideally 500ms is a good amount of time to pick up script changes.
  • Clear message window before execution: clear the message log before re-running the script. Very handy if you to have a fresh output log each time.
  • Show file name when execution: display the name of the file that is automatically executed
  • Execute the unload script function: A special function, if defined, called __quick_unload_script will be invoked before reloading the script. This gives your script a chance to do some cleanup (for example to unregister some hotkeys)

Installation

QScripts is written in C++ with IDA's SDK and therefore it should be deployed like a regular plugin. Copy the plugin binaries to either of those locations:

  • <IDA_install_folder>/plugins
  • %APPDATA%\Hex-Rays/plugins

Since the plugin uses IDA's SDK and no other OS specific functions, the plugin should be compilable for macOS and Linux just fine. I only provide MS Windows binaries. Please check the releases page.