This is a beautiful program that lets you put information (any kind of it) into BMP images. More, you hide information inside the image, with a (little or big) loss of data (you can decide it).
This program runs under Windows 95 (or higher) in a MS-DOS Prompt window (maybe, I'll develop a GUI for it, but its duty is so easy that it's not worth to).
The same program encodes and decodes data into the image.
StegoBMP InBMP OutBMP datafile BitsXColor
Parameter | meaning |
InBMP |
The bitmap (any color depth) where you want to put data.
If you use an image where StegoBMP has already put data into,
BitsXColor is ignored. |
OutBMP |
Bitmap (24 bit) created by StegoBMP to store data |
datafile |
Information you want to put into the BMP. Size varies according to BitsXColor |
BitsXColor |
The number of bits (1 to 8) of each color that will be used to store data, starting form LSB |
StegoBMP InBMP datafile
Parameter | meaning |
InBMP |
The bitmap where you previously stored data |
datafile |
Where to save extracted data |
StegoBMP
will print out how much information is
sored into the bitmap.
StegoBMP InBMP
Parameter | meaning |
InBMP |
A bitmap where you previously stored data |
StegoBMP
takes each bit of your datafile and puts
it into color values of the Bitmap. According to BitsXColor
it
puts more or less bits into each color-byte (there are 3 color-bytes for each
pixel) starting from LSB.
StegoBMP
tries to compress
data before encoding into the image, using the ZLib
library.
BitsXColor |
Pixels X Byte | rate | max variation per color |
1 |
2.66 |
12.5% |
+/- 1 |
2 |
1.33 |
25.0% |
+/- 3 |
3 |
0.88 |
37.5% |
+/- 7 |
4 |
0.66 |
50.0% |
+/- 15 |
5 |
0.53 |
62.5% |
+/- 31 |
6 |
0.44 |
75.0% |
+/- 63 |
7 |
0.38 |
87.5% |
+/- 127 |
8 (Image is lost!) |
0.33 |
100.0% |
+/- 255 |
You should try with different values for BitsXColor
for each image and data couple.
There exists now a version for Linux which is quite different, and it is not compatible with Win9x images.
Stego
can work with many image formats, but it needs
that the image is stored without loss of data in a 24 bit format (true colors).
So the best format is PNG.
It doesn't ask you for BitsXColor
because it uses subsequent bits until
it reachs the end of input datafile. Try it without parameters for an explanation.
Download | |
EXE and Source for Win9x (Delphi 6) | StegoBMP.zip (87 kB) |
Source for Linux | stego.tar.gz (3 kB) |
You can find a lot of interesting information about steganography at OutGuess.