stegano-cli 0.3.2

Steganography command line tool. Supports hiding data in PNG images via LSB Encoding.
stegano-cli-0.3.2 is not a library.

Stegano CLI

Build Status codecov

Implements LSB steganography for PNG image files in rust-lang.

Aims for compatibility to the Stegano for windows version

What is steganography anyways?

In short, the art of hiding information in something (like a book, a image, a audio or even a video). Read more on wikipedia.

Watch it in action

asciicast

Quick Start

Install

To install the stegano cli, you just need to run

cargo install --force stegano-cli

(--force just makes it update to the latest stegano-cli if it's already installed)

Note the binary is called stegano (without -cli)

to verify if the installation went thru, you can run which stegano that should output similar to

$HOME/.cargo/bin/stegano

Hide data

Let's assume we want to hide data of a file called README.md, into an image called HelloWorld.png, based on a image called resources/with_attachment/Blah.txt.png. So we would run:

stegano hide \
 --data README.md \
 --in resources/Base.png \
 --out README.png

The final result is then contained in the image README.png.

Pro TIP you can hide multiple files at once

here I'm using the shorthand parameters (--data, -d), (--in, -i), (--out, -o)

stegano hide \
  -i resources/Base.png \
  -d resources/secrets/Blah.txt \
     resources/secrets/Blah-2.txt \
  -o secret.png

Hidden Feature you can use a .jpg for input and save it as .png

stegano hide \
  -i resources/NoSecret.jpg \
  -d resources/secrets/Blah.txt \
  -o secret.png

Hide short messages

Now let's assume we want to hide just a little text message in secret-text.png. So we would run:

stegano hide \
  -i resources/NoSecrets.jpg \
  -m 'This is a super secret message' \
  -o secret-text.png

Unveil data

Let's unveil the README.md that we've hidden just above in README.png

stegano unveil \
 --in README.png \
 --out ./

Unveil short messages

Now let's unveil the message from above secret-text.png. So we would run:

stegano unveil \
  -i secret-text.png \
  -o message

cat message/secret-message.txt
This is a super secret message

Unveil Raw data

Let's unveil the raw data of the README.md that we've hidden just above in README.png

stegano unveil-raw \
 --in README.png \
 --out README.bin

The file README.bin contains all raw data unfiltered decoded by the LSB decoding algorithm. That is for the curious people, and not so much interesting.

License

License: GPL v3