NAME
vsdump - VSD/VSS file format reverse engineering
SYNOPSIS
vsdump [SUBOPTIONS] FILE
DESCRIPTION
This manual page documents briefly the vsdump command.
vsdump is an ALT Linux (www.altlinux.ru) project of VSD/VSS file format
reverse engineering. VSD/VSS is an OLE file. Main data is stored in
’VisioDocument’ file inside this OLE. ’VisioDocument’ file has a header
with version number and pointer to the 1st stream. Pointers contain
Type, Offset to the start, Length, and Format of stream. The Format
field has a ’compressed’ flag (the 2nd least significant bit).
Format == 0x4* is used for streams that contains some strings.
Format == 0x5* is used for streams that contains some pointers.
Format == 0xd* is used for streams made of chunks.
Type == 15 is used for streams that contains ’Page’ data.
Type == 23 is used for streams that contains Icons.
And so on.
To (de)compress some streams Visio uses some version of LZW
algorithmwith options different from other MS-Office applications.
Those streams are made of chunks. Chunks starts with header that
contains Type and Length fields. Most of chunk types has a mandatory
fields and some of them has a discretionary fields. The type of chunk
imply an order and format of mandatory fields and place of start for
discretionary fields (if any).
The discrepionary fields made of ’blocks’. Blocks start with length,
type fields and index of variable it is linked to.
Blocks made of ’slices’. Every slice can be single byte operation like
"+" or "*" or ’command’ to put one/two bytes data or IEEE-754 fraction
or stringor name or function into formula.
SUBOPTIONS
A summary of options is included below.
help
list subcommands
dump <file> [directory]
dump pointers and inflated streams
test <file>
test command table
AUTHOR
vsdump was written by Valek Filippov (frob@df.ru)
This manual page was written by Juan Angulo Moreno <juan@apuntale.com>,
for the Debian project (but may be used by others).
jun 26, 2007