IDA SDK:数据库创建/打开时的事件?

逆向工程 艾达 idapro插件 idapro-sdk
2021-07-03 16:07:34

我正在编写一个随时可用的插件(PLUGIN_FIX标志)。但是,我还需要在创建或打开数据库时收到通知,就好像我会处理在init()没有PLUGIN_FIX标志的情况下调用插件的那一刻

我查看了 IDA 7.0 SDK,但我只找到了idb_event::closebase,我需要完全相反的。idb_event::savebase也不太匹配。

我登录有史以来IDA提出的SDK的所有事件(导致IDA比我奶奶☺运行速度较慢),并且只翻出idb_event::kernel_config_loaded这恰好围绕我想捕捉的时刻。但是,它也会在其他时间触发(例如简单地单击“打开”按钮时),因此它也不匹配。

我在这里错过了什么吗?这样的事件对我来说似乎很重要,所以我有点惊讶它没有什么“明显”的。

1个回答

环顾四周后,我注意到如果我处理以下两个处理器模块 ( HT_IDP) 事件,我几乎可以抓住我想要的时刻:

  • processor_t::event_t::ev_newfile 创建新数据库时(如从 PE 文件创建)
  • processor_t::event_t::ev_oldfile 加载现有数据库时(从 .idb 文件)