Keypatch是Keystone Assembler Engine的IDA Pro的获奖插件。
KeyPatch由内部3个工具组成。
请参阅此快速教程,以了解如何使用KeyPatch,以及有关其实现方式的幻灯片。
Keypatch已被确认可以在IDA Pro版本6.4、6.6、6.6、6.8、6.9、6.95、7.0、7.5上工作,但应在较旧版本上完美工作。如果发现任何问题,请报告。
有时,我们想在IDA中分析二进制文件时修补二进制文件,但不幸的是,IDA Pro的内置屁股不够。
开发了Keypatch来解决此问题。由于Keystone的力量,我们的插件提供了一些不错的功能。
Keypatch可能是您的反向工程工具集中缺少的部分。
pip install six 。keypatch.py复制到IDA插件文件夹,然后重新启动IDA Pro以使用KeyPatch。C:Program Files (x86)IDA 6.9plugins/Applications/IDA Pro 6.9/idaq.app/Contents/MacOS/plugins/opt/IDA/plugins/ NOTE
有关快速教程,请参见tutorial.md。有关Keypatch的所有功能的完整说明,请继续阅读。
要修补您的二进制文件,请按HOTKEY CTRL+ALT+K内部IDA中的“打开Keypatch Patcher”对话框。
Assembly框中键入新的汇编指令(您可以使用IDA符号)。Encode框中的编码,而无需等待ENTER键盘。Fixup控件中。ENTER或单击Patch以使用新代码覆盖当前指令,然后自动推进下一个指令。NOPs padding until next instruction boundary 。Save original instructions in IDA comment ,以禁用此功能。Edit | Patch program | Apply patches to input file 。 
CTRL+ALT+K ,或选择菜单Edit | Keypatch | Fill Range 。Assembly框中,您可以输入汇编代码或原始的十六进制。可接受的RAW HEXCODE的一些示例是90 , aa bb , 0xAA, 0xBB 。 
要恢复(撤销)最后一个修补程序,请选择菜单Edit | Keypatch | Undo last patching 。
要搜索汇编说明(无需覆盖二进制),请从菜单编辑中打开键盘搜索Edit | Keypatch | Search 。
Assembly框中键入汇编指令。Encode框中的编码,而无需等待ENTER键盘。Search按钮时,Keypatch会查找指令的所有发生,并以新的形式显示结果。 
要检查新版本的KeyPatch,请选择菜单Edit | Keypatch | Check for update 。
在任何时候,您还可以通过右键单击IDA屏幕访问上述所有键入功能,然后从弹出菜单中进行选择。

有关任何问题,请发送电子邮件至[email protected]。
要将来更新Keypatch,请点击我们的Twitter @keystone_engine宣布。
我们都知道,在IDA 7.0之前,IDA Pro的Python本身是32位,因此它只能加载32位库。因此,我们必须构建和安装Keystone 32位。但是,由于IDA 7.0支持32位和64位,这意味着我们还需要安装正确的Keystone版本。只需从PIPI安装,带有pip (32位),例如以下内容:
pip install keystone-engine完毕?现在返回第2节,为IDA Pro安装Keypatch。享受!