Skip to content

Python Command-Line Tool for Zero-Width Characters Steganography.

License

Notifications You must be signed in to change notification settings

MayADevBe/ZW-Steg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

ZW-Steg

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.

How it Works

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

How to run

  • 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:

About

Python Command-Line Tool for Zero-Width Characters Steganography.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages