Sign in to follow this  
BoltBait

Steganography (Hidden Images-secret agenty stuff) v3.0 Updated July 12, 2014

Recommended Posts

BoltBait! Mind sharing the source?

Well, I started with pleska's Photo Flood Fill plugin (source is available in this forum). And, it's not really very clean. I'll post the algorithm that I'm using if that would do.

Share this post


Link to post
Share on other sites

Yay new sig! It looks at a little blurry because it used to be like 92px high and 650 wide.... This is really cool! I have no idea how it works but it's cool. Also I fugred out how to get that cat from a tree :)

Share this post


Link to post
Share on other sites
BoltBait! Mind sharing the source?

Well, I started with pleska's Photo Flood Fill plugin (source is available in this forum). And, it's not really very clean. I'll post the algorithm that I'm using if that would do.

sounds good.

Share this post


Link to post
Share on other sites
*as are most of my plugins

^^Says the creator of two plugins which are being bundled in the next release of PDN.

Share this post


Link to post
Share on other sites

Myrddin, click the 'more' link in my sig and tell me how many of the plugins I've developed are actually useful.

X/21 = ?

Share this post


Link to post
Share on other sites

Okay then:-

Standard Shapes Effect

Feather Effect

Flip Selection Effect (hilariously useful)

Ink Sketch Effect - clearly useful for it to included next release

Portrait Effect - " "

CodeLab

RGB to CMYK Color Space

I would have included Arrow Effect but that's been superseded by the actual feature, but at the time very useful. Same with Gradient. A few others like the Reflection, although could be done without said effect it does make the job much, much easier and more professional.

Share this post


Link to post
Share on other sites

Heh. I only count 10/21. And, I'm being generous.

Arrows, Gradient, Grid, scanlins, halo, seamless, DPC, and Flip all have better versions out now which makes them useless.

Now, compare that to someone like Ed Harvey who has 20+ GOOD plugins. *sigh*

I need to work harder... :(

(OK, maybe I'm just tired and cranky as I'm in the middle of a 24 hour shift due to a massive deadline later today. So, what am I doing? Surfing, of course!)

Share this post


Link to post
Share on other sites

I realize that this thread is almost a month old, but it's still on the first page, so hopefully that's considered recent enough ;)

I've got two solutions that would both help towards making the encoded image perceptually invisible

For example, say you want to encode a 1-bit image into a 24-bit image. You're commandeering, I imagine, the least significant 3 bits (one per channel) in each pixel.

First, for a 1-bit source image, you should get three hidden pixels per one real pixel. If we're only encoding a 1-bit image, might as well take advantage of all the available bits. This also means that the hidden image can be up to three times larger (in number of pixels) than the final image.

The second suggestion, and this is the most effective part, is to apply a compression algorithm to the image you're hiding (.NET directly supports several compression systems already). Compressed files look a lot like random bits. This is because a good compression algorithm produces data that has few patterns. Because patterns are compressible, that'd mean that the compression algorithm wasn't doing a good job.

Just to sum that up, when you compress data, the output looks random. So if you take a 1-bit image, compress it using something fairly simple (deflate, for example), and THEN overlay the compressed data (one bit at a time) over the final image, the overlay will look random. There won't be any pattern, and slight random variations in pixels are pretty much invisible to the human eye!

The other benefit, of course, is that since we're taking a 1-bit image, encoding 3 bits per pixel, and compressing it, you can either fit significantly larger images in, or work in redundancy to survive lossy compression. Or you could just repeat the data to get a uniform random jitter on all pixels.

EDIT: Here's an image with a 1-bit random image (OK, semi-random, it was the PDN Cloud plugin with minimum size, and then a threshold applied, it looks random enough). it gets added as just slight noise being added to the photo, no chance to see it on top of a photograph:

endeavour_stegged.png

Except that slight random noise could be holding an actual image once you extract and decompress it.

Share this post


Link to post
Share on other sites

Here is mine. Anyone care to try it out? It is hilarious!!!

Halo3Prank.jpg

Awesome tut for your awesome Plug-in.

EDIT: I couldn't read the message in Davids sig, i tried but some words were just apsolutey positively impossible to read.

Share this post


Link to post
Share on other sites

Project Spartan, the problem with your image is that you've save in jpg format. It is critical for the integrity of the hidden image that a lossless format be used to store the image. Try PNG next time.

Share this post


Link to post
Share on other sites

i LOVE this ^^

but

is there a way that the quality of the picture doesn't go lower?

prolly not :)

i found some ways you can reveal hidden pics on a white background :P

autolevel

bucket (at low tolerance)

...

:)

Share this post


Link to post
Share on other sites
Here is mine. Anyone care to try it out? It is hilarious!!!

Halo3Prank.jpg

Awesome tut for your awesome Plug-in.

EDIT: I couldn't read the message in Davids sig, i tried but some words were just apsolutey positively impossible to read.

I pre-ordered halo 3 :D

Also this is an awesome plugin that you guys should try. for all you know you might find some hidden images in signatures avatars etc...

Share this post


Link to post
Share on other sites
i LOVE this ^^

but

is there a way that the quality of the picture doesn't go lower?

prolly not

Quality of both images will always suffer.

To hide a color image, the main image is losing 9 out of 24 bits of information. Plus, the hidden image is being converted from whatever you are using (24 bit?) down to 9 bits. There is no way around this with the algorithm I'm using.

There are an unlimited number of algorithms that could be implemented--many that could be encrypted or lossless. So, if you want to code your own, go for it!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this