allthingsida / eject_idb

eject_idb is a last ditch effort to flush and save your IDB when IDA hangs or a plugin causes an exception, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eject IDB Plugin for IDA

The eject_idb plugin was conceived after discussions with friends about the frustrations of IDA's UI hanging/IDA internal errors without warning or due to programmer errors (like an infinite-loop/access violations/mis-use of APIs in their plugin or scripts), leaving no opportunity to save the ongoing work. Worry no more! eject_idb might potentially save the day.

It operates by spawning a separate thread that waits for a per database semaphore name to be signaled. When signaled, the plugin will save your current IDB as original-name-ejected.ext, then offers to terminate IDA* on your behalf.

Long story short, eject_idb can be used as the last ditch effort to save your work (before IDA crashes).

Build this plugin using ida-cmake or get the pre-built binaries from here.

Note: this 'ejection' mechanism is not foolproof and might not work in all scenarios

Usage

  1. Install the plugin by copying the eject_idb directory to your IDA's plugins directory.
  2. The plugin will become active automatically when you open an IDB.
  3. At any time you want to 'eject' the IDB, just run the accompanying eject_idb executable and pass the full IDB path as an argument (case sensitive).

About

eject_idb is a last ditch effort to flush and save your IDB when IDA hangs or a plugin causes an exception, etc.


Languages

Language:C++ 82.6%Language:Batchfile 10.3%Language:CMake 7.1%