CleasbyCode/wbpdv

GitHub: CleasbyCode/wbpdv

一款专为 WebP 图像设计的数据隐写工具,通过将机密文件压缩加密并注入图像元数据块而非像素中,实现隐蔽且安全的信息传递。

Stars: 7 | Forks: 0

# wbpdv ***wbpdv*** 是一个快速、易用的隐写术命令行工具,用于通过 **WebP** 图像隐藏任何文件类型。 我们还提供了一个 [***Web 版本***](https://cleasbycode.co.uk/wbpdv/app/),您可以立即使用它,作为下载和编译 CLI 源代码的便捷替代方案。 ![演示图片](https://github.com/CleasbyCode/wbpdv/blob/main/demo_image/wbpdv_180552.webp) ***图片来源:*** [***@blackowl777***](https://x.com/blackowl777) / ***PIN: 7438463291507255314*** 与在覆盖图像的像素中隐藏数据的常见隐写方法 ([***LSB***](https://ctf101.org/forensics/what-is-stegonagraphy/)) 不同,***wbpdv*** 将文件嵌入到 ***WebP*** 图像的 ***Chunks***(块)中,例如 ***ICCP***、***EXIF*** 和 ***XMP***。 您可以隐藏任何最大为 ***1GB*** 的文件类型,尽管兼容网站(*如下所列*)有其自身的 ***小得多*** 的大小限制和 *其他要求。 为了增加存储容量和提供更好的安全性,您嵌入的数据文件将使用 ***zlib*** 进行压缩,并使用 ***libsodium*** 加密库进行加密。 ## 使用方法 (Linux) ``` Note: Compiler support for C++23 required. $ sudo apt install libsodium-dev zlib1g-dev libwebp-dev $ chmod +x compile_wbpdv.sh $ ./compile_wbpdv.sh Compiling wbpdv... Compilation successful. Executable 'wbpdv' created. $ sudo cp wbpdv /usr/bin $ wbpdv Usage: wbpdv conceal [-b] wbpdv recover wbpdv --info $ wbpdv conceal your_cover_image.webp your_secret_file.doc Saved "file-embedded" WebP image: wbpdv_129462.webp (143029 bytes). Recovery PIN: [***2166776980318349924***] Important: Keep your PIN safe, so that you can extract the hidden file. Complete! $ wbpdv recover wbpdv_129462.webp PIN: ******************* Extracted hidden file: your_secret_file.doc (6165 bytes). Complete! Please check your file. ``` ## 兼容平台 *发布大小限制以覆盖图像与压缩数据文件的总大小来衡量:* ● ***Mastodon*** (**16MB**) ● ***Tumblr*** (**9MB**) ● ***Bluesky*** (**~1MB** | ***-b option***) wbpdv ***mode***(模式)参数: ***conceal*** - 压缩、加密您的秘密数据文件,并将其嵌入到 ***WebP*** 覆盖图像中。 ***recover*** - 从 ***WebP*** 覆盖图像中解密、解压并提取隐藏的数据文件。 wbpdv ***conceal*** 模式的 ***platform***(平台)选项: "***-b***" 要创建用于在 ***Bluesky*** 平台上发布的兼容“*内嵌文件*”的 ***WEBP*** 图像,您必须在 ***conceal*** 模式下使用 ***-b*** 选项。 ``` $ wbpdv conceal -b my_image.webp hidden.doc ``` 这些图像仅兼容在 ***Bluesky*** 上发布。如果您将其发布到其他平台,您嵌入的数据文件将被删除。 您还需要使用 Python 脚本 ***"bsky_post.py"***(*可在仓库的 ***src*** 文件夹中找到*)将图像发布到 ***Bluesky***。 如果您通过浏览器站点或移动应用将图像发布到 ***Bluesky***,它将无法正常工作。 要使用此脚本,您需要从您的 ***Bluesky*** 账户创建一个[***应用密码***](https://bsky.app/settings/app-passwords)。 向您的 bsky 个人资料发布图像的标准 ***bsky 脚本*** 示例: ``` $ python3 bsky_post.py --handle you.bsky.social --password xxxx-xxxx-xxxx-xxxx --image your_image.webp --alt-text "alt-text here (optional)" "standard post text here (required)" ``` https://github.com/user-attachments/assets/7c725045-b3f0-4bd1-890f-7810a721ca5c https://github.com/user-attachments/assets/5520d223-e179-4ab1-81ee-bfd8a42197f2 https://github.com/user-attachments/assets/27a12ef6-de2d-4c7b-9bff-e85f2de18495 https://github.com/user-attachments/assets/ef39f5fc-caed-4bc7-a80d-ff478095415e https://github.com/user-attachments/assets/39e89290-ac20-40b6-8a27-289f8680a3d2 ## 第三方库 本项目使用了以下第三方库: - **libsodium**:用于加密功能。 - [**LICENSE**](https://github.com/jedisct1/libsodium/blob/master/LICENSE) - Copyright (C) 2013-2025 Frank Denis (github@pureftpd.org) - **zlib**:通用压缩库 - License: zlib/libpng license (see [***LICENSE***](https://github.com/madler/zlib/blob/develop/LICENSE) file) - Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler - **WebP**:图像处理库,由 Google 开发。 - **Copyright**: Copyright 2010 Google Inc. - **License**: BSD 3-Clause License (see [***LICENSE***](https://github.com/webmproject/libwebp?tab=BSD-3-Clause-1-ov-file#readme) file for details) ##
标签:C++23, CTF工具, libsodium, WebP, zlib压缩, 信息隐藏, 图像隐写, 密码学, 手动系统调用, 数字取证, 数据加密, 数据提取, 数据隐藏, 文件嵌入, 漏洞搜索, 网络安全, 自动化脚本, 逆向工具, 隐写术, 隐私保护, 非LSB隐写