imaarov/steganov

GitHub: imaarov/steganov

一个用纯 C 语言编写的教育性隐写术项目,演示如何通过 LSB 技术将数据隐藏在数字媒体文件中并从零实现底层算法。

Stars: 0 | Forks: 0

# steganov 将你的数据隐藏在其他数据中 **steganov** 是一个完全使用 C 语言编写的教育性隐写术项目。它演示了如何使用最低有效位(LSB)技术将数据隐藏在常见的媒体格式中,同时还探讨了这些格式的内部结构。 与许多类似的项目不同,本仓库特意避免在所实现的算法中使用第三方库。诸如 CRC32、Adler32、Bitstream 处理、Huffman 编码、LZ77 以及 DEFLATE pipeline(包含了那么多该死的 RFC 1951 细节 ):)等组件,都是出于学习目的从零开始实现的。 ## 文档 该仓库包含一个专门的 **[文档](/docs)** 目录,用于解释实现背后的概念,并记录了整个项目中使用的算法。 文档目前包含以下主题: * 隐写术基础 * LSB 编码与解码 * 文件结构(“蓝图”) * PNG chunk 解析 * CRC32 * Adler32 * Bitstream 实现 * Huffman 编码 * LZ77 * DEFLATE pipeline * RFC 1951 规范 如果你想了解实现是*如何*运作的,而不仅仅是使用它,请从以下内容开始: ``` docs/README.md ``` 然后继续阅读 `docs/` 目录中的各个文档。 ## 命令 构建: ``` make ``` 格式化: ``` make format ``` 清理 obj 文件: ``` make clean ``` 构建测试: ``` make test ``` 运行测试 ``` make run-test # or ./bin/test_runner ``` 解码并测试编码的 DEFLATE 字符串的预期字符串 ``` ./tools/validate_deflate.py ``` ### 支持的媒体 - BMP - WAV - PNG
标签:DNS 反向解析, HTTP工具, meg, 信息安全, 学习项目, 客户端加密, 数据隐藏, 算法实现, 逆向工具, 隐写术