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
- Install the plugin by copying the
eject_idb
directory to your IDA'splugins
directory. - The plugin will become active automatically when you open an IDB.
- 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).