A simple cross-platform tool to hide files inside PNG images
A

A simple cross-platform tool to hide files inside PNG images

A simple cross-platform tool to hide files inside PNG images

724 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Hide Your Files in Plain Sight with ShadeOfColor2

Ever needed to stash a file somewhere no one would think to look? Maybe you're passing along a secret config, a small script, or just having a bit of fun with digital Easter eggs. While encryption is great for security, sometimes you just want something hidden in plain sight. That's the clever idea behind ShadeOfColor2.

This isn't about heavy-duty cryptography. It's a neat, cross-platform trick that leverages something we see online every single day: the humble PNG image. It turns out, with a bit of clever manipulation, you can tuck away entire files inside one without visibly changing it.

What It Does

ShadeOfColor2 is a command-line tool that lets you embed (or "hide") any file—a text document, an archive, another image—inside a host PNG image. The process, often called steganography, modifies the least significant bits of the image's color data. These changes are so minute that they're imperceptible to the human eye. The result is a perfectly viewable PNG that secretly contains your payload, which you can later extract using the same tool.

Why It's Cool

The beauty of this tool is in its simplicity and platform coverage. It's written in C++ and uses standard libraries, so it compiles and runs on Windows, macOS, and Linux without a fuss. You don't need a GUI or a complicated setup; it's a straightforward ./shade command away.

The implementation is smart. It doesn't just jam data into the image; it uses the PNG's structure effectively, allowing the host image to remain a valid, viewable file. Think of it as a digital carrier pigeon. You could upload the "stego-image" to a social media site, use it as a forum avatar, or email it to a collaborator, and no one would be the wiser that it contains your hidden secret_keys.txt or the next clue for your puzzle game.

How to Try It

Getting started is simple for anyone comfortable with a terminal.

  1. Grab the code: Head over to the GitHub repository and clone it.

    git clone https://github.com/archistico/ShadeOfColor2
    cd ShadeOfColor2
    
  2. Build it: The repo contains a simple Makefile. Just run make in the project directory. This will compile the shade executable.

  3. Use it: The basic syntax is easy.

    • To hide a file (data.zip) inside an image (cat.png):
      ./shade -e cat.png data.zip
      
      This creates a new image, typically cat_secret.png.
    • <

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 14, 2025