百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pe_to_shellcode

> 编程语言
开源

将 PE 转换为 shellcode

2.8K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

将 PE 转换为 shellcode

pe_to_shellcode

将 PE 转换为可以像普通 shellcode 一样注入的格式。
(同时, 输出文件仍然是一个有效的 PE。)
支持 32 位和 64 位的 PE
作者: @hasherezade & @hh86

目标

  • 该项目的目标是提供一种可在最小努力下生成 PE 文件的方法。它受到 Stephen Fewer 的 ReflectiveDLLInjection 的启发 - 但区别是,使用 pe2shc 可以在编译后添加反射加载的代码段。此外,PE 文件的头部被修改,使您可以从一开始就开始执行注入的缓冲区 - 就像使用 shellcode 一样。它会自动找到代码段,并继续加载完整的 PE。

项目范围

该存根仅支持PE格式的基本结构,例如:

  • 重定位
  • 导入
  • TLS回调(在入口点执行前调用一次)

请记住,尽管对于大多数PE文件来说这已经足够,但您遇到的一些可执行文件可能使用了PE格式的其他更复杂的方面。这意味着,并非每个PE都能成功转换为shellcode。

当前不支持的元素示例:

  • 异常(如果你转换的可执行文件将作为 shellcode 运行,并抛出异常,则找不到相应的异常处理程序,应用程序会崩溃)
  • 延迟加载导入(仅实现了基本的导入表支持)
  • MUI 文件(如果你转换的可执行文件期望 GUI 的某些元素从 MUI 文件加载,则无法正常工作)

构建

⚙️ 下载最新的发布版。

克隆

使用递归克隆来获取仓库及其所有子模块:

bash
git clone --recursive https://github.com/hasherezade/pe_to_shellcode.git

如何使用

  1. 使用 pe2shc.exe 转换你选择的 PE 文件:
pe2shc.exe <path to your PE> [output path*]
* - optional

如果 PE 成功转换,pe2shc 将

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++pe-filepe-to-shellcodepe2shcpe2shellcode

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言