mabutaha/diasteg
GitHub: mabutaha/diasteg
利用阿拉伯语变音符号隐藏英语消息的隐写术工具。
Stars: 1 | Forks: 0
# 节流
通过利用涉及对阿拉伯Unicode码点进行XOR操作的特殊性质,你可以通过使用阿拉伯语中的变音符号作为隐蔽通道来在阿拉伯文本中隐藏英语消息。`diasteg`是这个隐写术技术的实现。
输出是一个部分变音化的阿拉伯文本,它是完全自包含的。请查看示例文件夹。
📜 在我的博客上查看完整的说明和解释:
[Unicode XOR Magic: Steganography with Arabic Diacritics](https://mabutaha.me/posts/diasteg/)
## 工作流程 重要提示:在阅读本节之前,请阅读整个实现说明! **1. 为你的秘密生成一个约束映射:** 这将打印出每个位置上有效的阿拉伯字母,并且可选地生成一个可以输入到LLM中的提示。 ``` python validate_carrier.py -s "mysecretmessage" --prompt ``` 你可以使用约束映射来自己编写句子,或者找到一个现有的阿拉伯文本,其开头字母恰好满足约束(参见示例3)。 **2. 获取一个有效的开头句子:** 自己编写,使用LLM,或者找到一个已经符合要求的现有文本(参见示例3)。通过以下方式验证: ``` python validate_carrier.py -s "mysecretmessage" "الجملة العربية هنا" ``` 根据个人经验,Gemini是进行约束阿拉伯语写作的最佳LLM。特别是3.5 Flash(带有扩展思维)和3.1 Pro。 **3. 构建`carrier.txt`。** 在验证后的句子之后附加一个较长的完全变音化的阿拉伯文本(任何相关内容,越长越好)。开头句子必须满足约束;其余部分只需要是一个完全(或大部分)变音化的文章。 *注意:对于某些秘密,现有的阿拉伯文本可能已经满足在正确位置上的约束,并且带有正确的秘密消息,因此你可能不需要这一步。参见示例3。* **4. 编码:** ``` python diasteg.py encode carrier.txt "mysecretmessage" -o stego.txt ``` 它应该输出一个成功消息。输出是一个包含变音化文本的文本文件。如果出现错误,你的文章可能太短(即没有足够的变音化字母来形成密钥子序列)。 **5. 解码:** ``` python diasteg.py solve stego.txt ``` 将阿拉伯文本的字母与变音符号标记的字母进行XOR操作应该能够正确地检索到秘密。
通过利用在Unicode中应用XOR操作时出现的一个意外特性,你可以通过使用阿拉伯语中的变音符号作为隐蔽通道,在阿拉伯文本中隐藏英语消息。
diasteg是实现这种隐写术技术的实际应用。输出是一个部分变音化的阿拉伯文本,它是完全自包含的。消息被隐藏在变音符号中。
## 工作流程 重要提示:在阅读本节之前,请阅读整个实现说明! **1. 为你的秘密生成一个约束映射:** 这将打印出每个位置上有效的阿拉伯字母,并且可选地生成一个可以输入到LLM中的提示。 ``` python validate_carrier.py -s "mysecretmessage" --prompt ``` 你可以使用约束映射来自己编写句子,或者找到一个现有的阿拉伯文本,其开头字母恰好满足约束(参见示例3)。 **2. 获取一个有效的开头句子:** 自己编写,使用LLM,或者找到一个已经符合要求的现有文本(参见示例3)。通过以下方式验证: ``` python validate_carrier.py -s "mysecretmessage" "الجملة العربية هنا" ``` 根据个人经验,Gemini是进行约束阿拉伯语写作的最佳LLM。特别是3.5 Flash(带有扩展思维)和3.1 Pro。 **3. 构建`carrier.txt`。** 在验证后的句子之后附加一个较长的完全变音化的阿拉伯文本(任何相关内容,越长越好)。开头句子必须满足约束;其余部分只需要是一个完全(或大部分)变音化的文章。 *注意:对于某些秘密,现有的阿拉伯文本可能已经满足在正确位置上的约束,并且带有正确的秘密消息,因此你可能不需要这一步。参见示例3。* **4. 编码:** ``` python diasteg.py encode carrier.txt "mysecretmessage" -o stego.txt ``` 它应该输出一个成功消息。输出是一个包含变音化文本的文本文件。如果出现错误,你的文章可能太短(即没有足够的变音化字母来形成密钥子序列)。 **5. 解码:** ``` python diasteg.py solve stego.txt ``` 将阿拉伯文本的字母与变音符号标记的字母进行XOR操作应该能够正确地检索到秘密。
标签:逆向工具