C++ (CMake) implementation of basic image steganography techniques to embed and extract hidden messages in images (e.g., LSB on RGB channels).
Includes a Windows executable and a portable CLI/CMake build system for cross-platform use.
Originally developed as an academic project, later refined and corrected.
It earned the maximum grade during project evaluation.
- Hide text payloads inside lossless images (PPM/BMP).
- Extract and verify hidden payloads.
- CLI tool; Windows binary provided via Releases.
Windows: grab the prebuilt executable from the Releases page:
- Latest: ImageSteganography.exe (latest)
- All versions: Releases
Run from a terminal:
ImageSteganography.exe --helpYou need a C++17 compiler, CMake, and Git.
Follow these official guides to install them for your system:
| Platform | Setup Guide |
|---|---|
| Windows | Install MinGW-w64 or Install Visual Studio Community 2022 |
| Linux (Debian/Ubuntu) | Install CMake & GCC on Ubuntu |
| macOS | Install Xcode Command Line Tools and Homebrew |
Once tools are installed and available in your PATH, run:
git clone https://github.com/faafal/Image-Steganography.git
cd Image-Steganography
cmake -S ImageSteganography -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -jResulting binary:
build/ImageSteganography.exe # Windows
build/ImageSteganography # Linux/macOS
ImageSteganography.exe --info Resources\testimg.bmpImageSteganography.exe --check Resources\testimg.bmp "Hello, world!"ImageSteganography.exe --encrypt Resources\testimg.bmp "Top secret"Decrypt / read hidden message
ImageSteganography.exe --decrypt Resources\testimg.bmp- BMP must be 24-bit and uncompressed
- PPM supports P3 (ASCII) and P6 (binary)
--encryptmodifies the image in place so keep a backup copy if needed