前言
笔者的IDA版本为9.0
,刚开始根据一些博客描述以为将mipsrop.py拷贝到IDA的plugins目录即可,可操作后发现事情好像没这么简单,复制进去后就发现没有博客中所说的 MIPS ROP Finder
,笔者在网上搜索了很多博客后在 https://bbs.pediy.com/thread-266102.htm 的评论区找到了所需要的东西
为了防止该链接失效现已将附件放入到下面百度网盘链接中
通过网盘分享的文件:mipsrop附件.rar
链接: https://pan.baidu.com/s/1Gd7uxLVRTxwAxRseJFrf_w?pwd=xidp 提取码: xidp
安装方法
笔者已经将需要修改的部分修改好了,只需要解压然后将里面的两个py文件都放入到IDA的plugins目录即可
放入之后打开IDA就可以找到 MIPS ROP Finder
使用的时候点一下
然后在IDA的python界面输入下面两个指令(每次打开IDA都需要输入)
import mipsrop
mipsrop = mipsrop.MIPSROPFinder()
不输入的话可能会出现 NameError: name 'mipsrop' is not defined
这个警告
输入之后就可以使用mipsrop了
可以用下面指令测试一下
mipsrop.find("")
以上方法仅在IDA9.0中试过,使用的python版本为python3.11.7
其他IDA版本和python不知道是否可行需要读者自行尝试
使用方法
常用的有下面这三种
# 显示所有gadget
mipsrop.find("") # 可以规定指令和参数, 也可以使用 .* 通配符来指代所有可能
mipsrop.find("li $v0, .*") # 查找所有调整栈指针的 gadgets,按偏移量排序
mipsrop.stackfinder()
参考:
解决IDA 无法安装mipsrop插件 - 简书
https://bbs.pediy.com/thread-266102.htm
https://blog.csdn.net/snowleopard_bin/article/details/115376333