项目简要情况
- IDA 实时 协作插件
- 核心技术:IDA Undo记录重放
项目架构
- IDA客户端
(必要)Hook IDA Undo相关函数
(必要)与服务器交互,收发Undo数据
(必要)多人操作合并逻辑
(可选)使用IDA已有Hook记录操作信息
- 协作服务器
(必要)管理IDB
(必要)存储Undo操作
(可选)Web管理界面
项目计划与进度
客户端计划
- 逆向分析Undo接口(已完成)
- 分析IDA Undo记录的生成,以及UI的撤销、重做操作对应的C++层逻辑
- IDA Undo内部结构封装(已完成)
- 将IDA Undo的结构体用ctypes封装并导出,供Python使用
- 跨平台进程内Hook Python模块封装(已完成)
- 用于Hook Undo相关函数收取undo数据
- 希望能同时支持m1 mac、intel mac、windows的用户
- 协作插件架构建立(进行中)
- Hook Undo接口后,使用Undo内部结构封装取出undo数据
- 将undo数据可靠的转移给服务器
- 处理多人操作合并
服务端计划
- 操作历史记录
- 使用sqlite记录用户的操作历史
- 需支持区间查询以允许客户端进行操作合并
- IDB自动保存
- 维护一个Wine IDA的instance,实时保存IDA的数据库,方便后来人加入与错误恢复
- 项目管理、版本管理相关功能
IDA协作插件 工作表
架构设计
架构设计
Develop
Develop
Undo逆向
Undo逆向
IDA协作插件 Wiki
IDB 共享列表