Steganography for Data Reading and Writing AVI files


Steganography for Data Reading and Writing AVI files

Abstract
The video stream in an AVI file is nothing more than a sequence of bitmaps. This article is about extracting these bitmaps and re-building the stream, in order to hide a message in the video. Before reading this article, you should have read at least part one, Steganography – Hiding messages in the Noise of a Picture. This one uses the application described in parts 1-3, but you don’t need the extended features to understand it.
Reading the Video Stream
The Windows AVI library is a set of functions in avifil32.dll. Before it is ready to use, it has to be initialized with AVIFileInit. AVIFileOpen opens the file, AVIFileGetStream finds the video stream. Each of these functions allocates memory which has to be released.

ow we are able to open an AVI file and get the video stream. AVI files can contain many streams of four different types (Video, Audio, Midi and Text). Usually there is only one stream of each type, and we are only interested in the video stream.
Writing to a Video Stream
When the application opens an AVI carrier file, it creates another AVI file for the resulting bitmaps. The new video stream must have the same size and frame rate as the original stream, so we cannot create it in the Open() method. When the first bitmap arrives, we know the frame size and are able to create a video stream. The functions to create streams and write frames are AVIFileCreateStream,
That’s all we need to read and write video streams. Non-video streams and compression are not interesting at the moment, because compression destroys the hidden message by changing colours, and sound would make the files even larger – uncompressed AVI files are big enough! 😉
Changes in CryptUtility
The HideOrExtract() method used to load all carrier images at once. This was no good from the beginning, and now it became impossible. From now on HideOrExtract() loads only one bitmap, and disposes it before loading the next one. The currently used carrier image – simple bitmap or extracted AVI frame – is stored in a BitmapInfo structure, which is passed around by ref.
SYSTEM IMPLEMENTATION

5.1 REQUIREMENT ANALYSIS

The completion of this thesis requires the following Software & Hardware

Software Requirements

Hardware Requirements

PROCESSOR – Pentium IV
RAM – 32 MB
SECONDARY STORAGE – 1 MB
MOUSE – Logitech


Comments are closed.