Skip to content

faafal/Image-Steganography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Image-Steganography

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.

About

Originally developed as an academic project, later refined and corrected.
It earned the maximum grade during project evaluation.

Features

  • Hide text payloads inside lossless images (PPM/BMP).
  • Extract and verify hidden payloads.
  • CLI tool; Windows binary provided via Releases.

How to Execute (no build required)

Windows: grab the prebuilt executable from the Releases page:

Run from a terminal:

ImageSteganography.exe --help

Prerequisites (If you want to build it yourself)

You 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 -j

Resulting binary:

build/ImageSteganography.exe # Windows

build/ImageSteganography # Linux/macOS

Quick examples (Windows exe or self-built binary)

Show image info

ImageSteganography.exe --info Resources\testimg.bmp

Check if a message fits

ImageSteganography.exe --check Resources\testimg.bmp "Hello, world!"

Encrypt (in-place writes into the image file)

ImageSteganography.exe --encrypt Resources\testimg.bmp "Top secret"

Decrypt / read hidden message

ImageSteganography.exe --decrypt Resources\testimg.bmp

Notes

  • BMP must be 24-bit and uncompressed
  • PPM supports P3 (ASCII) and P6 (binary)
  • --encrypt modifies the image in place so keep a backup copy if needed

About

C++ tool for hiding and extracting messages in images (BMP, PPM).

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors