This is a tidy looking banner image. But according to [Ian] it contains 52KB of source code. You can’t just read out all of that data. Well, you can but it will be gibberish. Before hiding the bits in plain sight he encrypted them with two different keys.
He’s using AES-256 encryption to keep his data away from prying eyes. But if that wasn’t enough, he also wrote a PHP program to hide the bits in a PNG image. Not just any picture will do (otherwise your eye will be able to see something’s awry). The post linked above focuses mainly on how to choose an image that will hide your data most easily. We asked him if he would share his techniques for actually merging the encrypted file with the picture and he delivered. Head on over to his repository if you want to take a look at the generator code.
Yes, well known technique called steganography. :) http://en.wikipedia.org/wiki/Steganography
Ok, done in one… thanks dood…
im guessing without reading it changes color or something by one bit … maybe with some Reed–Solomon for error correction
you cant just hide it in the header/footer it self or it will get lost in conversion …
in a preset pixel location*
better to do that in JPEG DCT coefficients. This means the data is spread over more than one pixel.
IIUC, data hidden in JPEG2000 wavelets alterations would be spread over the entire image.
Google “steganography”. You’ll find out more about it than you ever wanted to know.
Time for the weekly buttcoin-shilling article on HaD…
Yea, because there was anything bitcoin related here beyond the logo.
well did the bitcoin logo add ANYTHING to the article or was it there simply to shill?
There already is an app that does this…it’s called camouflage.
Wouldn’t think it would be difficult to hide this information in a randomly chosen image, depending on the file type. You could shift values a nearly immeasurable amount, or shift attribute values only but not DAC information. I’m no expert but this shouldn’t be hard to do to any random image.
ive used http://sourceforge.net/projects/hide-in-picture/ before to do the same thing many years ago
I heard a rumor once that half the porn on the Internet contains encoded messages for terrorists. Think about that the next time you’re pulling your pud!
Death to American sperm!
That’s a metric butt-load of terrorist information!
Its a scary world that we live in.
Indeed. I have heard from reliable sources that three out of every two of us are terrorists.
I don’t doubt it. I’ve seen all of the schizophrenics at the bus terminal!
Lots of pay porn sites have scripts to embed user info in the images so if someone downloads them and posts them on, say, some *chan site they can figure out who they need to ban. Steganography is such interesting technology, and it amuses the hell out of me that it gets used to protect tits and cooters.
An increasing number of photographers hide an attribution in the picture in case the EXIF “accidentally” gets overwritten, which seems to happen more that you’d think.
BTW, I just accidentally reported your comment (dumb place for the “report” link with no “are you absolutely certain you want to do this, Mr. Picky?” dialogue). I hereby beseech the moderate Gods to let your comment stand. Sorry about that.
@pcf11 I shall go and conduct some research straight away!!!
Be careful looking at the code will make you go blind.
simple fiddling with HDR in photoshop revealed a lotsa stuff btw
Really? We Have been doing this cince 1993. Hack a day, Where people get credit for discovering things that have been around for decades.
Tomorrow on HAD, SamFun47 discovers the light bulb!
resizing the horizontal of a BMP file then expanding it to original width would provide the opportunity for every second pixel to contain data, simillar in value to previous.
original picture data: 122,124,153,159
resized (smaller horizantal): 123,156
re-resized (original size): 123,123,156,156
with added data: 123,124,156,155
hidden data: 1,0
this is for binary file data.
but could also convey DIRECT picture data using several image filters at once;
1) every second pixel
2) convert to greyscale using remaining(non data-encoding) bits
3) subtraction from original data equals new data
4) multiply(bitshift) to increase contrast so image is visible
just watch out for the “end of the row” may have padding that is NOT picture data and would be lost during conversion or the entire picture after that spot corrupted
the program i linked a few posts up used ‘random’ pixels thruout the entire image, to prevent easy detection and extraction like that
the seed for the random number generator is based on the same pw used to encrypt it, so without the pw, you cant even detect the changes
We learned about this in class the other day, and my professor wrote up a batch file over the weekend that does steg on BMP files to both hide plain-text, and full-fledged files of any kind. It is certainly a fun thing to do!
its cool. thank u