- Core contracts in
StegoForge.Coredefine service and payload models. StegoForge.Applicationcoordinates embed, extract, capacity, and info orchestration.- Delivery surfaces include a scriptable CLI and a WPF desktop app.
StegoForge
StegoForge is a modular .NET steganography toolkit for reliable carrier workflows.
Use the deterministic CLI for automation or the WPF desktop app for guided operations across BMP, PNG, and WAV carriers.
Project overview
StegoForge is a layered steganography platform with shared orchestration services and delivery surfaces for both scripted and desktop usage.
Feature highlights
Current implementation emphasizes deterministic behavior, policy validation, and clear boundaries between UI and carrier handlers.
-
Layered architecture
Core contracts, application orchestration, and provider modules keep UI concerns separate from carrier logic.
-
Deterministic CLI contracts
Stable exit codes and JSON error shapes are designed for scripting and CI automation.
-
Policy-aware workflows
Embed and extract requests enforce compression/encryption policy validation before handler I/O.
-
Test-first reliability
Unit, integration, CLI, and WPF suites validate round trips and failure semantics.
Supported formats
Production handlers currently wired through full workflows.
- PNG:
png-lsb-v1 - BMP:
bmp-lsb-v1 - WAV:
wav-lsb-v1
CLI examples
Realistic commands from the repository root for common automation and diagnostics workflows.
-
dotnet run --project src/StegoForge.Cli -- embed --carrier samples/input.png --payload samples/message.bin --out artifacts/output.png --compress auto --encrypt aes-gcm --password-env STEGOFORGE_PASSWORDEmbeds a payload into a PNG carrier with automatic compression and AES-GCM encryption from an environment-provided password.
-
dotnet run --project src/StegoForge.Cli -- extract --carrier artifacts/output.png --out artifacts/recovered.bin --password-env STEGOFORGE_PASSWORDExtracts and decrypts the payload from the stego carrier back to a binary file.
-
dotnet run --project src/StegoForge.Cli -- capacity --carrier samples/input.wav --payload 65536 --compress auto --jsonChecks whether a WAV carrier can hold a 64 KiB payload and emits a machine-readable capacity report.
-
dotnet run --project src/StegoForge.Cli -- info --carrier artifacts/output.png --jsonInspects carrier metadata and embedded envelope details for troubleshooting and pipeline checks.
WPF desktop app
StegoForge.Wpf provides a Windows-native workflow for interactive embed/extract operations.
Use the WPF app when you want a guided desktop workflow instead of CLI flags.
- Interactive validation before running long operations.
- Guided parameter entry for encryption/compression combinations.
- Operator-friendly status and diagnostics when triaging failed extracts.
Launch on Windows with:
dotnet run --project src/StegoForge.Wpf Build on Windows with:
dotnet build src/StegoForge.Wpf/StegoForge.Wpf.csproj Full GUI documentation: docs/gui.md
Installation / getting started
Quickstart for CLI and test validation using the pinned .NET SDK (10.0.100).
git clone https://github.com/Adilx05/StegoForge.git
cd StegoForge
dotnet restore
dotnet build
dotnet test tests/StegoForge.Tests.Unit/StegoForge.Tests.Unit.csproj
dotnet run --project src/StegoForge.Cli -- help Full build and environment instructions: docs/building.md
Download / releases
Get binaries from tagged releases or review source, docs, and issues in the repository.
Roadmap
Roadmap summary synced with docs/roadmap.md milestones 1-14.
-
Milestones 1-2: Foundation and contracts
Solution scaffolding and stable core abstractions for embed/extract/capacity/info contracts.
-
Milestones 3-5: Payload, compression, and crypto
Versioned payload envelope, pluggable compression, and authenticated encryption with KDF policy support.
-
Milestones 6-8: Carrier format coverage
Production PNG/BMP/WAV LSB handlers with deterministic capacity and validation behavior.
-
Milestones 9-11: Delivery surfaces
Application orchestration hardening plus stable CLI command surface and first usable WPF GUI.
-
Milestones 12-14: Hardening to release
Robustness, documentation/developer-experience completion, and v1.0 release readiness.
Detailed checklist: docs/roadmap.md
Optional FAQ
Is StegoForge production-ready?
Core CLI/application flows for PNG/BMP/WAV are implemented and covered by tests.
Can I script it?
Yes. Use CLI JSON mode and mapped exit codes for deterministic automation behavior.