Skip to main content

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

stegofox-0.1.2.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stegofox-0.1.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

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

Hashes for stegofox-0.1.2.tar.gz
Algorithm Hash digest
SHA256 729b99480891fbb0edf47b1926619e6c1509ee168e79c65ea0c5f231f136541a
MD5 ba11ea18d4eb295787ccb292396e3ce2
BLAKE2b-256 ad6c1c4ae9f0d030cbe1f344b8faa5e14e91f6b9b883ea43c56f772233963ba4

See more details on using hashes here.

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

Hashes for stegofox-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3118c834f984058b332b1a6fa5a2eaf40c6edae04b02b3eec252054257505ee
MD5 f44acfa0f9240086f6b1e5ed18cb8112
BLAKE2b-256 bfd6538cb5f54b82da8df3f1daa309bbf19c4e5f6e59d5271381dd04922a00b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page