GSteg

Gtkmm Steg library

View project onGitHub

GSteg

Steganography thing for university thing. Things are involved at places. Yay ^-^

Encode

Now with the power of the GUI, encoding is a simple case of opening an image, inputting your text and clicking the encode menuitem. Bish bash bosh. Once you open the image, because I'm too lazy to think of a smarter way, an fstream object is defined and assigned to the path of the image. Once you hit the encode menuitem, it splits the object into a header and eBuf(end buffer) accesses the text within the TextBuffer via the annoying gsteg_txt_in->get_buffer()->get_text() interface, yes, I tried looking for something better, it doesn't exist, chucks it in after the header inbetween bytes 3&7, chosen for two reasons; because they lie in the range of characters that you can't input via traditional means, meaning it can take any characters you want, and because I'm a big QOTSA fan. There's also some minor memory cleanup which I will improve when I get time.

Decode

Also the same, except in reverse. Open your image and hit the deode menuitem. I may make it more user-friendly soon. Decoding is much more simple; access the fstream object, find the "3" byte, located at 0x36 in MOST BMP files, the actual location of the header is defined in the header itself, I might implement this later, doubtful as 99.9% are at 0x36, and add every byte until "7" to the otBuf(output text buffer), which is typecasted to a ustring so that the TextBuffer can use it. Memory cleanup happens, which also sucks. I'll sort if I get time.

Gtkmm Interface

Works fine, does the job. May add something more user-friendly for decoding, but we will see.

Contributions

Don't. This is a university project, don't help me.

License

BSD, included.