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

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

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

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

工具目录

分类

查看所有分类
Loading categories
EmbedPayloadInPng — Embed a payload inside a PNG file | Kitploit
工具/GitHubGitHub/maldev-academy/embedpayloadinpng
IDS/IPS EvasionData ExfiltrationSteganographyCryptographyPayload Development
GitHubmaldev-academy/embedpayloadinpng

EmbedPayloadInPng

Embed a payload inside a PNG file

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

EmbedPayloadInPng

通过将载荷拆分到多个 IDAT 区块中,将载荷嵌入 PNG 文件。每个区块使用 RC4 加密算法,以各自的 16 字节密钥单独加密。

快速链接

Maldev Academy 主页

Maldev Academy 课程大纲

Maldev Academy 价格

实现

本仓库包含两种实现:

  • EmbedPayloadInPng.py - 用于将输入载荷嵌入指定 PNG 文件的 Python 脚本。
  • FetchPayloadFromPng - 从 EmbedPayloadInPng.py 输出的 PNG 文件中提取载荷,并使用 ExtractDecryptedPayload 函数进行解密。

使用

  1. 使用 EmbedPayloadInPng.py 创建嵌入载荷的 PNG 文件:
图片

嵌入载荷的 PNG 文件 Output.png 与原始文件是同一个 .PNG 文件。

https://github.com/user-attachments/assets/bec6f597-9955-4552-80f7-f484bd5754c3

  1. 复制 EmbedPayloadInPng.py 输出的 MARKED_IDAT_HASH 宏定义,并替换 FetchPayloadFromPng 项目中此处的现有定义。

嵌入载荷的 PNG 文件结构

如前所述,EmbedPayloadInPng.py 负责将载荷文件嵌入 PNG 文件。以下是嵌入载荷的 PNG 文件结构。

图片

由于 IDAT 区块的最大大小为 8192 字节,我们的载荷会被分块到多个 IDAT 区块中。每个区块的大小等于 (8192 - 16 [RC4 密钥长度])。此外,最后一个 IDAT 区块将包含载荷的剩余字节。


下图说明了 EmbedPayloadInPng.py 的输出,并将其与所生成 PNG 文件的结构进行对比:

  • 输出的 PNG 文件区块。
图片

  • 用于标记载荷起始位置而创建的随机 IDAT 区块。该区块的 CRC 哈希在我们的 C 代码中用于识别 PNG 文件中载荷的起始位置。
图片

  • 紧随随机区块(蓝色)之后的第一个载荷 IDAT 区块。该图还展示了 CRC 哈希的位置以及之前随机化 IDAT 区块的大小(黄色)。
图片

  • 第一个载荷 IDAT 区块的 CRC 哈希,位于该区块的末尾,紧随加密后的第一个载荷块之后。
图片

  • 第二个载荷 IDAT 区块的开头。
图片
下载工具