关于EmbedPayloadInPng
EmbedPayloadInPng是一款功能强大的Payload嵌入工具,该工具能够将Payload拆分为多个IDAT部分,并将Payload数据嵌入到PNG图片文件中。
值得一提的是,EmbedPayloadInPng拆分的IDAT的每一段数据都会使用自己的 16 字节密钥和 RC4 加密算法单独加密。
工具组成
当前版本的EmbedPayloadInPng由两个组件组成:
EmbedPayloadInPng.py- Python脚本负责将输入的Payload嵌入到指定的 PNG 文件中。
FetchPayloadFromPngEmbedPayloadInPng.py- 负责从输出的 PNG 文件中提取Payload,并使用ExtractDecryptedPayload函数对其进行解密。
嵌入式 PNG 文件结构
如前所述,EmbedPayloadInPng.py负责将Payload嵌入 PNG 文件。下面是嵌入Payload的 PNG 文件的结构:
由于一个IDAT部分的最大大小为 8192 字节,因此我们的Payload被分成多个IDAT部分。每个部分的大小相当于(8192 - 16 [RC4 密钥长度])。此外,最后一个IDAT部分将包含Payload的剩余字节。
下面给出的是EmbedPayloadInPng.py的输出并将其与创建的 PNG 文件的结构进行了比较。
输出 PNG 文件部分:
随机 IDAT 部分,用于标记Payload的开始位置。此部分的 CRC 哈希值在该项目的 C 代码中用于标识PNG 文件中Payload的开始位置:
第一个Payload的IDAT部分,紧随随机部分之后(蓝色部分)。此图还展示了 CRC 哈希的位置以及之前随机化 IDAT 部分的大小(黄色部分):
第一个Payload的IDAT 部分的 CRC 哈希值,位于Payload加密的第一个块后面的部分末尾:
第二个Payload的IDAT 部分的起始位置:
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Maldev-Academy/EmbedPayloadInPng.git
工具使用
使用EmbedPayloadInPng.py创建嵌入Payload的PNG文件:
嵌入Payload的PNG文件名为Output.png跟源文件对比是相同的。
工具运行演示
演示视频:【点我观看】
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
EmbedPayloadInPng:【GitHub传送门】
参考资料
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)