Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
e9patch — 一款强大的静态二进制重写工具 | Kitploit
工具/GitHubGitHub/gjduck/e9patch
逆向工程模糊测试二进制分析二进制利用
GitHubgjduck/e9patch

e9patch

一款强大的静态二进制重写工具

查看仓库
1.1k70472个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

  E9Patch - 一个强大的静态二进制重写器

E9Patch 是一个针对 x86_64 Linux ELF 二进制文件的强大静态二进制重写工具。 E9Patch 的特点:

  • 可扩展:E9Patch 可以可靠地重写大型/复杂二进制文件,包括网络浏览器(大小超过100MB)。
  • 兼容:重写的二进制文件是原始文件的直接替代品,无需额外依赖。
  • 快速:E9Patch 可以在几秒钟内重写大多数二进制文件。
  • 低开销:包括性能和内存。
  • 可编程:E9Patch 的设计使其可以轻松集成到其他项目中。更多信息请参阅 E9Tool 用户指南 和 E9Patch 程序员指南。

静态二进制重写 接收一个输入二进制文件(ELF 可执行文件或共享对象),并生成一个经过修补/修改的输出二进制文件。修补后的二进制文件可以作为原始文件的直接替代品。

发布

预构建的 E9Patch 二进制文件可通过以下链接下载:

  • https://github.com/GJDuck/e9patch/releases

构建

构建 E9Patch 非常简单:只需运行 build.sh 脚本。

这将自动构建两个工具:

  1. e9patch:二进制重写器后端;
  2. e9tool:E9Patch 的线性反汇编前端。

使用示例

E9Patch 可以通过 E9Tool 前端使用。

例如,要向 xterm 中的所有 xor 指令添加指令打印插桩,我们可以使用以下命令:

root@kitploit:~
    $ ./e9tool -M 'asm=/xor.*/' -P print xterm

这将生成一个修改后的 xterm 版本,并写入 a.out 文件。

修改后的 xterm 可以正常运行,但会将每条执行的 xor 指令的汇编字符串打印到 stderr:

root@kitploit:~
    $ ./a.out
    xorl %ebp, %ebp
    xorl %ebx, %ebx
    xorl %eax, %eax
    xorl %edx, %edx
    xorl %edi, %edi
    ...

有关支持的选项和模式的完整列表,请参见:

root@kitploit:~
    $ ./e9tool --help

项目

其他使用 E9Patch 的项目包括:

  • RedFat:基于 low-fat 指针 的二进制加固系统。
  • E9AFL:自动向二进制文件插入 AFL 插桩。
  • E9Syscall:使用 libc.so 的静态二进制重写进行系统调用拦截。
  • Hopper:自动生成库的模糊测试用例。
  • EnvFuzz:程序环境模糊测试。
  • RFF:用于并发测试的灰盒模糊测试。
  • AutoTrace:简单的基于源代码行的跟踪。

文档

E9Patch 是一个低级工具,设计为可集成到其他项目中。要了解更多信息,请参阅以下文档:

  • E9Patch 程序员指南
  • E9Tool 用户指南

错误报告

错误报告请提交至:

  • https://github.com/GJDuck/e9patch/issues

版本

当前版本的 E9Patch 相较于 PLDI'2020 论文中评估的原始原型有显著改进。具体来说:

  • 当前版本实现了多项新优化,能够生成显著更快的二进制文件,有时速度提升达 2 倍。要启用新优化,请向 E9Tool 传递 -O2 选项。
  • 物理页分组 空间优化的实现也得到了改进。
  • 修补覆盖率也略有提高。
  • 实现了许多新功能(见文档)。

许可协议

本软件已根据 GNU 公共许可证 (GPL) 第三版发布。

某些特定文件根据 MIT 许可证发布(请查看文件开头部分)。

出版物

更多信息,请参阅我们的 PLDI'2020 论文:

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • PLDI'2020 在 YouTube 上的演示

请按如下方式引用我们的论文:

root@kitploit:~
    @inproceedings{e9patch,
        author = {Duck, Gregory J. and Gao, Xiang and Roychoudhury, Abhik},
        title = {Binary rewriting without control flow recovery},
        year = {2020},
        publisher = {Association for Computing Machinery},
        url = {https://doi.org/10.1145/3385412.3385972},
        doi = {10.1145/3385412.3385972},
        booktitle = {Programming Language Design and Implementation (PLDI)}
    }

致谢

本工作部分得到新加坡国家研究基金会(NRF)在国家网络安全研发(NCR)计划下资助的值得信赖软件系统国家卓越卫星的支持。

下载工具