关于ida pro的牛逼插件keypatch

关于ida pro的牛逼插件keypatch

通常ida在修改二进制文件,自带的edit->patch program->assemble 可以修改x86, x64 但是不能修改arm, arm64,移动端逆向该怎么办? 
这里写图片描述

之前arm下可以使用ida-patcher http://thesprawl.org/projects/ida-patcher/ 这个插件,但是必须知道arm指令对应的机器码,使用还是有点麻烦. 
如图:

ida-patcher 菜单:

ida-patcher 菜单

ida-patcher patch:

ida-patcher patch2]

edit selection:

ida-patcher patch3]

今天介绍的这个神器插件keypatch 
Keypatch is confirmed to work on IDA Pro version 6.4, 6.6, 6.8, 6.9, 6.95

https://github.com/keystone-engine/keypatch

支持的CPU架构: 
support Arm, Arm64 (AArch64/Armv8), Hexagon, Mips, PowerPC, Sparc, SystemZ & X86 (include 16/32/64bit).

支持的平台: 
work everywhere that IDA works, which is on Windows, MacOS, Linux.

Based on Python, so it is easy to install as no compilation is needed.
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

keypatch底层依赖keystone-engine

安装keystone-engine

For Windows 
It is easiest to just download & install Python 2.7 module for Windows from http://www.keystone-engine.org/download. Be sure to get the 32-bit version, regardless of your Windows edition.

If you prefer to compile from source, just use MSVC 32-bit & follow the instructions in Windows documentation to build keystone.dll. After that, install Python module as in Python documentation. Then copy keystone.dll to the directory of Keystone Python module.

For osx 
sudo pip install keystone-engine


安装keypatch 
https://github.com/keystone-engine/keypatch.git

将 keypatch.py 复制到 /Applications/IDA\ Pro\ 6.95/idaq.app/Contents/MacOS/plugins

重新打开ida

使用keypatch 快捷键ctrl+alt+k

arm汇编 
keypatch

keypatch界面 
keypatch界面

keypatch修改界面 
keypatch修改界面

点击patch, 修改成功

keypatch修改界面后,注意右边的注释(保留前面的代码) 
keypatch修改界面后]

如何撤销修改

ctrl+alt + p 右击revert指定的修改 
撤销

或者 
keypatch撤销

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值