advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Download the code for this article
Partners & Affiliates
advertisement
advertisement
advertisement
advertisement
Average Rating: 3.2/5 | Rate this item | 110 users have rated this item.
Keeping Secrets Secret: Steganography with .NET (cont'd)
Building Client Applications
In the sample source code for this article, you'll find two client applications for the stego library: a console and a GUI application. To use the console application, follow this syntax:

 stego.exe [-e <fileToEncode> <message> <password> <outFile>] | [-d <fileToDecode> <password>]
advertisement
For example, you can create a stego file that uses a file named test.bmp as the cover file, and "goofy" as the password, and hide the message "Hello World!" as follows:

 > stego -e test.bmp "Hello World!" goofy test2.bmp
When you run the preceding command, the console application creates the stego file test2.bmp, which looks the same as test.bmp but contains the hidden message "Hello World!"

 
Figure 3. StegoGUI Application (Encoding): From the "Encoding" tab folder you can add a hidden message to a .bmp file.
To extract the message from test2.bmp use the -d option, as follows:

 > stego -d test2.bmp goofy
You pass in the name of the stego file and the password as command-line arguments. The result is:

 > Hello World!
Listing 3 shows the code for the console application.

The GUI application lets users encode and decode 24-bit .bmp files using a graphical interface. In Figure 3 you can see the "Encoding" tab folder of the application. Basically, the application lets you specify the file name of the cover, the resulting stego file, and a password, just like the console application.

 
Figure 4. StegoGUI Application (Decoding): From the "Decoding" tab folder you can extract the hidden message from a .bmp file.
You can extract a hidden message by clicking the "Decoding" tab folder (see Figure 4), and entering the name of the stego file and the password.

This article introduced the most popular algorithms and techniques about steganography and showed how to implement a .NET steganography library that you can easily expand and integrate in your projects. In addition, we implemented two applications (command-line, and GUI) that may be useful for hiding and extracting information to and from 24-bit .bmp files.

Previous Page: The BMPStegoFile class  


Giuseppe Naccarato has a degree in computer science and works as software engineer for an IT company based in Glasgow (UK). His main interests are J2EE- and .NET-related technologies. You can reach Giuseppe via his Web site at http://www.giuseppe-naccarato.com.
Alessandro Lacava is a software developer and technical writer based in Italy. He is mainly interested in .NET technologies, Web applications, and telecommunication systems.
Page 1: IntroductionPage 4: The BMPStegoFile class
Page 2: The Stego LibraryPage 5: Building Client Applications
Page 3: The BMPCoverFile Class 
Rate this item | 0 users have rated this item.

Google Delays Release of Honeycomb Source Code

The open source mobile operating system Android 3.0 won't be so open after all. 

advertisement

Google says that its Android 3.0 "Honeycomb" is suitable for tablets only, and the company won't be releasing the source code because that would allow developers to put the software on smartphones. "To make our schedule to ship the tablet, we made some design tradeoffs," says Google's Andy Rubin. "We didn't want to think about what it would take for the same software to run on phones. It would have required a lot of additional resources and extended our schedule beyond what we thought was reasonable. So we took a shortcut." He adds that they didn't want to create "a really bad user experience. We have no idea if it will even work on phones."

Despite closing the source for this version of Android, Rubin asserts, "Android is an open-source project. We have not changed our strategy."

View article

   
Please rate this item (5=best)
 1  2  3  4  5
Please rate this item (5=best)
 1  2  3  4  5
advertisement