关于ida pro的牛逼插件keypatch

通常ida在修改二进制文件,自带的edit->patch program->assemble( Ilfak Guilfanov在论坛里也提到, 未来很可能会把assemble汇编器相关的功能彻底移除掉) 可以修改x86, x64 但是不能修改arm, arm64,移动端逆向该怎么办?

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

ida-patcher 菜单:

ida-patcher patch:

edit selection:

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

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.

keypatch底层依赖keystone-engine

安装keystone-engine

Windows上32位ida(ida 6.8, 6.9, 6.95, 7.0_x86), 安装keystone-engine, 注意 检查配套的python32

关键步骤
https://github.com/keystone-engine/keystone/releases/download/0.9.1/keystone-0.9.1-python-win32.msi

Windows上64位ida(>=7.0), 安装keystone-engine, 注意 检查配套的python64

关键步骤
https://github.com/keystone-engine/keystone/releases/download/0.9.1/keystone-0.9.1-python-win64.msi

macOS 安装
必须要有cmake, 用来编译libkeystone.dylib (libkeystone.dylib, macOS python是universal binary)
典型问题: https://github.com/keystone-engine/keypatch/issues/28
Quick start
Steps:

  • install brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • install cmake
brew install cmake
  • install keystone-engine
sudo pip install keystone-engine

默认安装目录: /Library/Python/2.7/site-packages/keystone
目录结构:

检查方法:

  1. 在ida的python 控制台 print sys.path
  2. 检查下keystone目录环境
    在"print sys.path"结果中, 如果存在 “/Library/Python/2.7/site-packages/keystone”
    不需要 copy
sudo cp -r /Library/Python/2.7/site-packages/keystone /Applications/IDA\ Pro\ <version>/ida[q].app/Contents/MacOS/python

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

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

重新打开ida

使用keypatch 快捷键ctrl+alt+k

arm汇编

keypatch界面

keypatch修改界面

点击patch, 修改成功

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

如何撤销修改

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

或者

keypatch工作原理

  • 先了解下ida pro 自带的插件的原理

    • keypatch 原理

keypatch依赖keystone, keystone作为Assembler

关于ida pro的牛逼插件keypatch相关推荐

  1. python七大神级插件_IntelliJ IDEA 15款超级牛逼插件推荐(自用,超级牛逼)

    满满的都是干货  所有插件都是在 ctrl+alt+s   里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的 ...

  2. Intellij IDEA常用的牛逼插件的总结

     阅读本文约需要6分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下Java中过滤器和拦截器的区别的相关知识,今天跟大 ...

  3. idea服务器性能插件,IntelliJ IDEA 15款超级牛逼插件推荐(自用,超级牛逼)

    满满的都是干货  所有插件都是在 ctrl+alt+s   里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的 ...

  4. java 插件11.45.2.14_IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐

    原标题:IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐 正文如下: 满满的都是干货 所有插件都是在 ctrl+alt+s 里的plugins 里进行搜索安装 1.CodeGlan ...

  5. IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐

    满满的都是干货  所有插件都是在 ctrl+alt+s 里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的敲击 ...

  6. IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐(自用,真的超级牛逼)

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:荡 ...

  7. IntelliJ IDEA 15款神级超级牛逼插件推荐

    满满的都是干货  所有插件都是在 ctrl+alt+s 里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的敲击 ...

  8. IntelliJ IDEA 15款 神级超级牛逼插件推荐(自用,真的超级牛逼)

    作者:荡漾- blog.csdn.net/qq_38380025/article/details/105247548 满满的都是干货  所有插件都是在 ctrl+alt+s 里的plugins 里进行 ...

  9. IDA Pro 7.0皮肤插件的安装与深色主题(包含背景色、前景色、指令颜色)的设置

    长期以来都用的是IDA Pro的默认白底蓝字的主题,这种配色在夜里十分刺眼,最终决定将其背景换为深色. 主题插件的安装 感谢zyantific大神制作的IDA Pro主题插件,这款插件使用Qt sty ...

最新文章

  1. MyBatis源码流程分析
  2. 【黑马程序员】————预处理指令1-宏定义
  3. 需求规格说明书1.0
  4. 根号x_8.八年级数学:根号(2a1)=12a,怎么求a的取值范围?二次根式
  5. 比尔盖茨:十条“金口玉言”-- 世界不会在意你的自尊
  6. java文件的打包和解包,Java包装类:什么是包装类对象,什么是打包和解包,当编译遇到自动打包和解包时会发生什么?...
  7. 免费正版杀毒软件,正版杀毒软件
  8. 计算机毕业论文性能测试怎么写,计算机毕业论文撰写技巧
  9. max30102c语言,max30102问题
  10. thinkphp5前台index模板文件template配置
  11. 计算机帐务处理子系统只能在一级,2009年初级会计电算化考前冲刺精选题二
  12. java飞翔的小鸟游戏实验报告,BirdGame 飞翔的小鸟游戏源码,仿照 编写的java版本 ,所有的 功能完整。 s 249万源代码下载- www.pudn.com...
  13. Springboot定时任务【多线程处理】
  14. 2021mac新卡牌游戏:展翅翱翔wingspan
  15. Markdown 更改字体颜色
  16. Mysql 建立外键出错1822 可能原因之一分析 - Failed to add the foreign key constraint. Missing index for constraint
  17. 如何用python绘制灰度直方图_python可视化
  18. Linux 中实时查看日志的3种方法
  19. android中底部弹窗,Android实现从底部弹出的Dialog示例(一)
  20. linux系统禁用usb设备

热门文章

  1. 2021年G3锅炉水处理考试内容及G3锅炉水处理实操考试视频
  2. 小型网络规划设计与实施(简单课设)
  3. Android Jetpack之CameraX的使用
  4. ASLR和PIE的区别和作用
  5. C语言strlen()函数
  6. c语言strlen()和sizeof()的区别
  7. Matlab画热度图,某地人流密度热力图
  8. 为“Eye∙爱”助跑 视觉2020线上马拉松已经开启
  9. 1:三层for循环计算转置矩阵的乘积
  10. SpringBoot原理篇:bean的多种加载方法之 使用上下文对象regist注入bean