目标
集合基本所有插件的功能, 统一更新
目前的应用场景(需求收集)
- Cpp逆向增强
- 允许设置带<>的Cpp类型
- 近日在逆向Golang程序(Acronis Cyber Backup),而golang的多返回值我想通过_ret<a, b, c>来表示,因此需要让IDA直接支持在按Y的时候设置这些类型
- 类成员函数标明
- 借用folder分割各个类
- 在f5 view里面显示函数名
- 虚表支持增强
- 重命名虚表项时自动重命名函数
- 同步类型更改
- 需要更新HexRaysPyTools的cast功能
- 很多时候需要点到cast的地方才能shift-L cast过去
- 不支持对&后面的变量类型cast
- cast时会导致函数整个prototype被重新设置,导致ida产生大量a1 a2这类的局部变量名
资源
- API封装
- HexRaysPyTools中有大量Helper
- ida_kern
- Hook:
- PyPLTHook
- hook_to_notification_t
- detours_cross
功能
Cpp类型设置
HexRays的Type对话框不支持cpp,很让人恼火
- 思路:
- 使用IDA自带的ui_notifications_t来hook f5的类型对话框
- 但是实际上ui_notification_t最后还是得交给对话框产生者来解析类型,我们没法控制类型的解析
- 因此通过PLTHook hook掉了parse_decl
- IDAPython HookF5设置类型时的ui_notifications_t trace