Shockwave (Director)


 * For Shockwave Flash, see SWF.

Shockwave is a platform and format for multimedia applications, video games, etc. It was owned by Macromedia during most of its formative years, and is now owned by Adobe. It has many names, most of which involve permutations of the words "Macromedia", "Adobe", "Shockwave", and "Director". Director is the application usually used to develop it. It is distinct from SWF (Flash).

The format seems to be based on the RIFX metaformat, though some DCR files are not actually valid RIFX files.

It might be that the DCR files don't work as valid RIFX files due to DEFLATE compression being used on some sections of the file using an undetermined scheme. Presumably a correct application of INFLATE would yield a valid file. AN old oreilly book reveals that this compression and decompression step used to be done by a Director Xtra plugin called "afterburner" before it was a built in feature. Afterburner is available on some mac abandonware sites.

Shockwave also has a plugin system called "xtras" which may complicate the correct interpretation of some files in the future.

Identifiers
File extensions:
 * .DIR = Director file (holds an editable project)
 * .DRX = Macintosh version of the Director file (Contains a  RIFX chunk)
 * .DXR = Protected (i.e., read-only) Director file
 * .DCR = Shockwave (compiled/published) version of DIR; the normal format for distribution of Shockwave applications outside of the organization where they were made.

Cast Formats
One major element of Shockwave is "cast members", objects that can have scripts and other resources attached to them. These can be bundled together into a "cast" file for modularity.

File extensions: Sources:
 * .CST = Editable Director cast
 * .CXT = Protected (read-only) Director cast
 * .CCT = Shockwave (compiled/published) cast; to be loaded after a reference by (presumably) a DCR file

Software

 * http://aluigi.org/papers/bms/shockwave.bms - (direct download) A script for QuickBMS roughly describing how to apply decompression to a DCR file.
 * Movie-Restorer-Xtra - "allows Director to open and save Protected and Compressed Movie Files"
 * Recover-CCT - "recovers" protected movie and case files
 * drxextract - "Script to extract contents from Macromedia Director 4.0 and 5.0 DRX files... [a]lso can extract contents from 'updated' Macromedia Director DRI files"
 * D4Player - Open-source player for Shockwave 4 files
 * ScummVM - Open-source player (extent of support unknown)
 * Adobe Shockwave players for Windows/Mac OS X
 * dirOpener - Removes the protection from CXT/DXR/DCR files yielding readable files

Sample files

 * Sfanta Scriptura (BOR 2001, editie jubiliara)
 * https://telparia.com/fileFormatSamples/archive/macromediaDirector/
 * Director, CXT and [[SWA] samples]

Links

 * Adobe Shockwave
 * Adobe Director
 * Adobe Shockwave Player
 * Xtras installed with Adobe Shockwave Player - Adobe's list of default extras installed with shockwave
 * Schockabsorber - Has some very rudimentary reverse engineering of the Director format.
 * Adobe Shockwave - A case study on memory disclosure - This contains some useful specifics on the format, specifically for the purposes of building a security exploit.
 * https://zenhax.com/viewtopic.php?t=252 - A thread on a game reverse engineering forum discussing the DCR format
 * A Tour of the Adobe Director File Format

Editors' notes
The PRONOM database claims that the PC version of Director creates files that begin with "RIFX" (i.e. big-endian), and the Macintosh version creates files that begin with "XFIR" (little-endian). This seems backwards. Either PRONOM is wrong, or something else is going on here.