科学使用 IDA
ida作为工业级的逆向分析工具,尤其是其F5这个让人增寿的东西,若是正确使用,则可以为分析者节省下大把时间。
注 :本文默认IDA版本均为IDA7.0以及以上
解决堆栈平衡,花指令
在如下文章有详细介绍
IDA python
挖坑待填
插件
Python_editor
注:现在懒得装了
在IDA中编写python脚本简直反人类,若是需要运行一个python脚本还是比较麻烦的,打上了这个插件后可以很方便的编写以及运行python脚本
安装
- 安装需要 Qscilla 模块,具体的安装比较复杂,作者已经帮忙打包好了一个装好所有依赖的python,需要从该链接下载 Pyqt5 ida pro 7.0
- 用下载好的 python 替换电脑本身的 python (做不做备份看心情吧)
- 从 PyQt5 中提取 Qt5Core.dll , Qt5Gui.dll, Qt5widgets.dll 覆盖到 IDA目录下
- 删去 IDA 目录下 python 文件夹中的 sip.pyd 和 PyQt5 目录 (不删除分别会导致 IDA崩溃,无法正确识别PyQt5)
- 添加环境变量 QT_QPA_PLATFORM_PLUGIN_PATH=Python目录\Lib\site-packages\PyQt5\plugins\platforms (没加好像会出现 a plugin “” not found)
截图
运行Python脚本
自动补全
Keypatch
ida自身内建的补丁工具极其的难用,同时它只支持x86的汇编,打上这个插件后,修改汇编将会方便许多,可以直接按下 Ctrl+Alt+K 进行修改。
安装
- 下载并安装 keystone(python版 IDA7.0需要安装x64的) 下载地址: keystone
- 将 keypatch.py 拷贝到 IDA 的插件目录
截图
Hexlight
高亮各种括号
https://bbs.pediy.com/thread-226099.htm
dwaf
ida 7.0自带的一个插件
jmp to next fixup
寻找下一个fixup的地址
比如got表以及windows的重定位
change the callee address
该插件允许用户改变called函数的地址
例如
1 | call rax |
实际上就是加个注释和交叉引用
可以把动态调试时的地址填入
x64dbgida
安装
https://github.com/x64dbg/x64dbgida
功能
同步x64dbg和ida之间的数据
diaphora
https://github.com/joxeankoret/diaphora
尚未使用
LazyIDA
强烈安利
安装
https://github.com/L4ys/LazyIDA
功能
移除return type
将数据转换为各种语言的数据
扫描格式化字符串漏洞
双击跳转到虚表函数
快捷键:
w 复制当前地址
c 复制当前item的名字
v 移除当前item的返回值