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

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

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

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

工具目录

分类

查看所有分类
Loading categories
drow — 在构建后向 ELF 可执行文件中注入代码 | Kitploit
工具/GitHubGitHub/zznop/drow
漏洞利用逆向工程二进制分析二进制利用
GitHubzznop/drow

drow

在构建后向 ELF 可执行文件中注入代码

查看仓库
2363432年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

drow Build Status

demo ich

描述

太长不看

drow 是一个命令行工具,用于注入代码并钩取 ELF 可执行文件(构建后)的入口点。它接收未经修改的 ELF 可执行文件作为输入,并输出一个包含用户提供的内嵌 payload 的修改版 ELF,该 payload 在运行时执行。

稍微详细一些……

Drow 执行以下步骤来创建新的修补版 ELF:

  1. 映射未修改的目标 ELF 可执行文件和用户提供的 payload(一个位置无关的 blob)
  2. 通过解析程序头定位第一个可执行段
  3. 通过解析节头定位可执行段中的最后一个节
  4. 将(段中的)最后一个节的节头 sh_size 和程序头 p_memsz/p_filesz 扩展用户提供的 payload 的大小
  5. 修复节头的 sh_offset 和程序头的 p_offset(向下移动节和段,为 payload 和一个小型“暂存桩”腾出空间)
  6. 修复 ELF 头中的偏移量(e_shoff、e_phoff 等)
  7. 修改 ELF 头的 e_entry(ELF 入口点偏移量)以指向注入的代码
  8. 创建一个包含注入代码和修改后 ELF 头的新 ELF

除了注入用户提供的 payload 之外,drow 还会注入一个小型代码桩,该桩被前置到 payload 的起始位置。这个桩的设计目的是调用 payload。如果 payload 编写为返回到调用者,则在 payload 返回后,暂存桩会尾调用到 _start,从而恢复执行,使程序能够按预期运行。

构建

安装 gcc 和 scons。然后在该目录的根目录下运行 scons。

其他信息

除了构建 drow 之外,该项目还会构建一个名为 rappers_delight.bin 的 Linux x86-64 payload,它简单地打印到 stdout。这可用于测试。目前,drow 仅适用于面向 x86-64 的 ELF64 文件。

其他工作

在这个领域已经有了许多开源工作。我建议您也查看以下项目和相关的出版物:

  • The Cerberus ELF Interface: http://phrack.org/issues/61/8.html
  • The Backdoor Factory: https://github.com/secretsquirrel/the-backdoor-factory
  • ELFSH: http://www.eresi-project.org/
下载工具