前言
筆者的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