零宽度字符隐写
将隐藏消息编码和解码为不可打印/可读字符。
常见的零宽度字符及它们的unicode码和原本用途:
- 零宽度空格符 (zero-width space) U+200B : 用于较长单词的换行分隔
- 零宽度连字符 (zero-width joiner) U+200D : 用于阿拉伯文与印度语系等文字中,使不会发生连字的字符间产生连字效果
- 零宽度断字符 (zero-width non-joiner) U+200C : 用于阿拉伯文,德文,印度语系等文字中,阻止会发生连字的字符间的连字效果
- 左至右符 (left-to-right mark) U+200E : 用于在混合文字方向的多种语言文本中(例:混合左至右书写的英语与右至左书写的希伯来语),规定排版文字书写方向为左至右
- 右至左符 (right-to-left mark) U+200F : 用于在混合文字方向的多种语言文本中,规定排版文字书写方向为右至左
- 零宽度非断空格符 (zero-width no-break space) U+FEFF : 用于阻止特定位置的换行分隔
特征
原文文本与编码文本长度不同,放入Unicode查看器中发现有零宽字符
隐写方法
在线工具:https://330k.github.io/misc_tools/unicode_steganography.html 在线工具:https://tool.bfw.wiki/tool/1695021695027599.html 在线工具:https://yuanfux.github.io/zero-width-web/
我们使用时需手动选择字符表,需要在Unicode查看器中确定零宽字符种类。
