关于ida pro的插件keypatch

本文介绍了IDAPRO的强力插件KeyPatch,该插件基于keystone-engine,支持多种CPU架构,包括ARM、ARM64等,并可在Windows、MacOS、Linux等平台上运行。文章详细阐述了KeyPatch的安装步骤及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于ida pro的插件keypatch

来源 https://blog.youkuaiyun.com/fjh658/article/details/52268907

关于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 菜单

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,7.0

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

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)"
  • 1
  • install cmake
brew install cmake
  • 1
  • install keystone-engine
sudo pip install keystone-engine
  • 1

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

检查方法: 
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
  • 1

安装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界面 
keypatch界面

keypatch修改界面 
keypatch修改界面

点击patch, 修改成功

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

如何撤销修改

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

或者 
keypatch撤销

keypatch工作原理

  • 先了解下ida pro 自带的插件的原理 
    这里写图片描述

    • keypatch 原理 
      这里写图片描述

keypatch依赖keystone, keystone作为Assembler

 

转载于:https://www.cnblogs.com/lsgxeva/p/8948113.html

引用提到了关于IDA 7.5版反编译器在7.3版或7.2版IDA上运行的问题。根据这个引用,作者试图让7.5版的反编译器能够在较早的版本上运行。不过,由于临时会员不能在该论坛发帖,作者打算等到转正后再发布新的帖子来解决这个问题。 引用介绍了一本收录了两位Linux领域领导人物作品的书籍。这本书相当于“Linux文档项目”的一个印刷版本,展示了Linux的核心概念和基本结构。它恰到好处地解释了面向所有主流Linux子系统的支持和管理任务,并涵盖了广泛的主题。 引用提到了关于IDA 7.5版在Linux上的一些特性。它提到使用了Intel CET(控制流实施技术)的ELF二进制文件在PC上变得非常普遍。Debian默认启用了此编译器选项,随后Fedora和其他Linux发行版也采用了这个选项。此外,IDA还添加了对一些最近添加到Intel和AMD处理器的新指令的支持。 综上所述,IDA 7.5版是一款强大的反编译器工具,作者正在努力解决其在较早版本上运行的问题。此外,对于Linux用户,IDA 7.5版也具有一些新的特性和支持,例如对使用了Intel CET的ELF二进制文件的支持以及对新指令的支持。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [[分享][下载]IDA Pro 7.5 Linux Demo](https://blog.youkuaiyun.com/weixin_33196555/article/details/116854199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [LINUX系统管理白皮书](https://download.youkuaiyun.com/download/beisika10368/3705540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [最新发布的IDA 7.5新增功能速览](https://blog.youkuaiyun.com/weixin_36057013/article/details/117613483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值