StegoFox Pro 🦊
High-performance encrypted steganography CLI.
Hide any file inside a PNG image using LSB (least-significant-bit) embedding, optionally encrypted with AES-256-GCM before it ever touches the pixels.
Features
- LSB steganography — embed arbitrary binary data in a cover image's pixel data
- Optional AES-256-GCM encryption (PBKDF2-HMAC-SHA256, 100k iterations) before embedding
- Lossless PNG output — the embedding survives save/reload exactly
- Wrong-password and corrupted-payload detection fail cleanly (no crash, no garbage output)
- Capacity checking — refuses to embed data too large for the cover image, before touching anything, and prints an estimated capacity upfront
Install
pip install stegofox
Or from source:
git clone https://github.com/foxhackerzdevs/stegofox.git
cd stegofox
pip install -e .
Usage
stegofox embed cover.png secret.txt -o output.png
# With password protection
stegofox embed cover.png secret.txt -o output.png --password hunter2
🦊 StegoFox Pro
📸 Loading cover image: cover.png
📏 Image capacity: ~2,400 bytes
🔐 Encrypting payload...
🧬 Embedding 712 bits...
✅ Successfully embedded! Saved to output.png
stegofox extract output.png --password hunter2
🦊 StegoFox Pro
🔍 Analyzing output.png
🔓 Decrypting...
✅ Extracted 33 bytes
checking output messages exactly
# Wrong password fails cleanly, no crash
stegofox extract output.png --password wrongpass
🦊 StegoFox Pro
🔍 Analyzing output.png
🔓 Decrypting...
❌ Decryption failed. Wrong password?
How it works
Each RGB channel byte of the cover image has its least-significant bit replaced with one bit of the payload. A 4-byte magic signature (SFOX) plus a 4-byte length header precede the payload so extraction knows exactly how much data to read back out. Output is always saved as PNG — a lossy format (JPEG, etc.) would destroy the embedded bits on save.
With --password, the payload is encrypted with AES-256-GCM (authenticated encryption) before embedding, so a wrong password fails the auth-tag check and returns a clean error rather than garbage bytes.
Requirements
Python >= 3.8, pillow, numpy, pycryptodome.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stegofox-0.1.2.tar.gz.
File metadata
- Download URL: stegofox-0.1.2.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
729b99480891fbb0edf47b1926619e6c1509ee168e79c65ea0c5f231f136541a
|
|
| MD5 |
ba11ea18d4eb295787ccb292396e3ce2
|
|
| BLAKE2b-256 |
ad6c1c4ae9f0d030cbe1f344b8faa5e14e91f6b9b883ea43c56f772233963ba4
|
File details
Details for the file stegofox-0.1.2-py3-none-any.whl.
File metadata
- Download URL: stegofox-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3118c834f984058b332b1a6fa5a2eaf40c6edae04b02b3eec252054257505ee
|
|
| MD5 |
f44acfa0f9240086f6b1e5ed18cb8112
|
|
| BLAKE2b-256 |
bfd6538cb5f54b82da8df3f1daa309bbf19c4e5f6e59d5271381dd04922a00b5
|