Flagstone Software

Overview

Flash files contain a sequence of data structures known as tags that describe a set shapes, fonts, images and sounds and how they are presented in an animation. Describe SWF allows you to browse the contents of a Flash file - examining each tag and the values assigned to each field. Different views of the information are available: a text view that displays the names of each Flash tag and the values assigned to each field within a tag - performing any decompression and translation necessary and data views which displays the file in either binary or hex form showing the exact location of a field within a file. A full descirption of each data structure decoded is also available - listing all the fields decoded giving you an detailed understanding of the Flash file format.

All the tags in a file are displayed in an outline view. The top level in the hierarchy lists all the tags found in a file.

Each tag contains a number of data fields. Complex fields, such as those that describe shapes, also contain fields, creating the hierarchical data structure that describes the entire Flash file. The structure of each tag and complex field can be shown or hidden by clicking on the triangle next to the tag or field name. The lowest level in the hierarchy contains the simple data fields that contain the assigned values.

Binary and Hex Views

The Flash file format is very compact. A Hex View allows you to browse the binary encoded files to see where higher level data structures are located while the Binary View allows you to inspect the values of individual fields within a selected tag.

Bits are grouped into bytes to make the majority of fields easier to locate. The left most digit of each byte is the most significant digit. The Flash file format specifies that data fields containing 16-bit or 32-bit values are stored in little-endian format, i.e. the first byte is the least significant. For example the 16-bit value 0xF842, represented in binary as 11111000 01000010 will appear in the data view stored as 01000010 11111000.

Conversely bit fields are not required to start on a byte boundary (which is why Flash files are so compact) are stored in big-endian format so the same 16-bit value would be appear in the data view as 01011111 00001000 01011010. Here the field value is surrounded by other binary digits to illustrate that the field may be located at any position within the file.

File Format Description

A detailed description is also provided for each data structure in a file, listing all the fields decoded along with their type and size. The Description brings the Flash file format to life allowing you to see how the specification from Macromedia is used to construct a Flash file.