Python Command-Line Tool for Zero-Width Characters Steganography.
Hide text in other text using invisible zero-width unicode characters.
Read more in my blog post.
Choose a private and public message. The private message will be converted into binary data. The binary data will be mapped to three Zero-Width Characters. I will then be appended to the public message. The result is the public message with a hidden message through invisible/hidden unicode characters.
The default characters:
"\u2060", #WORD JOINER - as " "
"\u200B", #ZERO WIDTH SPACE - as 0
"\u200C", #ZERO WIDTH NON-JOINER - as 1
All possible characters:
"\u2060", #WORD JOINER
"\u200B", #ZERO WIDTH SPACE
"\u200C", #ZERO WIDTH NON-JOINER
"\u180E", #MONGOLIAN VOWEL SEPARATOR
"\u200D", #ZERO WIDTH JOINER
"\u200E", #LEFT-TO-RIGHT MARK
"\u200F", #RIGHT-TO-LEFT MARK
"\uFEFF", #ZERO WIDTH NO-BREAK SPACE
"\u202A", #LEFT-TO-RIGHT EMBEDDING
"\u202C", #POP DIRECTIONAL FORMATTING
"\u202D", #LEFT-TO-RIGHT OVERRIDE
"\u2062", #INVISIBLE TIMES
"\u2063" #INVISIBLE SEPARATOR
- use python >= 3.10
- download the python file
- run
python3 zw_steg.py
______ __ ___ _
|_ /\ \ / / / __| |_ ___ __ _
/ / \ \/\/ / \__ \ _/ -_) _` |
/___| \_/\_/ |___/\__\___\__, |
|___/
Options:
1. Encode/Hide Text
2. Decode/Reveal Text
3. Replace Zero Width Character
4. 'Brute-Force' Decoding
5. Exit
Choice: