论坛首页 逆向工程技术区 阅读主题

[原创] 由于转型游戏安全 我打算开源这个IDA插件 PatchEx

380 浏览 12 回复
#1 楼主 2026-06-01 21:08:51
来源
在IDA插件领域有一个几乎人人离不开的插件,大名鼎鼎的Keypatch,但是在我实际的CTF使用当中,其实是感觉不够方便的,主要有几个场景:

patch后代码超越了原本的区域大小,无法正常patch
patch的代码中涉及IDA本身的符号或更为复杂的汇编运算式子,比如:(他们没有上下文含义)

mov rcx, cs:qword_147CAC8E8
mov cs:qword_147CB1490, 0
mov word ptr cs:lpServiceName, ax
mov rax, gs:58h
call cs:_invalid_parameter_noinfo_noreturn
mov rcx, cs:qword_147CAC8E8
mov [rsp+28h+arg_0], rdi
call j_j_free
xorps xmm0, xmm0
lea rcx, unk_147CB12F0
mov ecx, cs:TlsIndex
mov rbx, [rax+rcx*8]
mov rax, gs:58h
lea rcx, sub_144A458F0
jmp atexit
mov [rsp+28h+arg_8], rax

AI日益发展的今天,CTF 的领域貌似已经被 AI 完全掠夺了,更快的做题速度,更好的方案,更杰出的解题脚本……不可否认 CTF 是锻炼基础的好阶段,不过我还是打算重点学习游戏安全领域,这是我从小就向往的行业,更希望这个插件能够帮助到有需要的师傅们,祝你们顺利!
使用效果

PatchEx
PatchEx 是一个面向 IDA Pro 的汇编与字节补丁插件,适用于逆向分析、漏洞研究、二进制修复、CTF/AWDP 等需要精确修改和可靠回滚的场景。
功能特性

基于 Keystone 的汇编补丁。
原始字节补丁,支持常见输入格式:
90 90 C3
9090C3
\x90\x90\xC3
0x90, 0x90, 0xC3
db 90h, 90h, 0C3h


就地补丁:新代码短于选区时自动填充。
Code cave trampoline:新代码无法放入原选区时,可跳转到代码洞执行后再跳回。
后台扫描 code cave,支持进度显示和取消。
ELF 可覆盖节扫描,支持 .eh_frame、.eh_frame_hdr、.gcc_except_table 等元数据节。
补丁预览:按“机器码字节 + 对应汇编”的形式逐行展示。
原始选区展示:同步显示原始字节和反汇编。
补丁历史记录持久化到 IDB。
Undo 前校验当前字节,避免覆盖用户或其他插件后续修改。
写入后读回校验,确保实际写入字节与预览一致。

与 Keypatch 的区别
Keypatch 是 IDA 中非常经典的 Keystone 汇编补丁插件,适合快速输入汇编并应用补丁。PatchEx 的定位不同:它更像一个完整的补丁工作台,强调预览、符号解析、code cave、历史记录和安全回滚。


对比项
Keypatch以及衍生版本
PatchEx


主要定位
快速 Keystone 汇编补丁
带预览、历史、校验和 cave 支持的补丁工作流


汇编补丁
支持
支持


字节补丁
支持常见字节格式
支持,并显示原始字节、输入字节和最终写入字节


预览方式
偏编码结果展示
按每条指令显示“字节 + 汇编”


Code cave 工作流

内置 cave 扫描、rel32 可达性显示和 trampoline patch


Cave 扫描

后台扫描,支持进度和取消


IDA 符号支持

支持自动名、导入名、ELF 版本符号、本地 label、栈变量风格名称、枚举常量、结构体成员、段前缀内存操作数


Undo 模型
偏最后一次补丁回滚
IDB 持久化历史,记录原始字节和补丁字节,Undo 前校验


安全策略
用户自行确认为主
未解析符号拒绝汇编;写入前检查映射;写入后读回验证


大型二进制体验
重点在补丁动作本身
Cave 扫描后台执行,避免 UI 长时间无响应

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-291014.htm
#2 2026-06-01 21:08:51
佬,提前区的文章能看看吗
#3 2026-06-01 21:08:51
佬,提前区的文章能看看吗?
#4 2026-06-01 21:08:51
感谢大佬开源。
#5 2026-06-01 21:08:51
不明觉厉~
#6 2026-06-01 21:08:51
大佬非你莫属
#7 2026-06-01 21:08:51
大佬非你莫属
#8 2026-06-01 21:08:51
大佬非你莫属
#9 2026-06-01 21:08:51
大佬非你莫属
#10 2026-06-01 21:08:51
mark
#11 2026-06-01 21:08:51
感谢分享
#12 2026-06-01 21:08:51
很酷
#13 2026-06-01 21:08:51
这不收藏

请登录后参与讨论

立即登录 注册账号