Shockwave (Director)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Moving info from Ext:dir)
(Category->Animation)
 
(40 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Miscellaneous File Formats
+
|subcat=Animation
|extensions={{ext|dcr}}, {{ext|dir}}, {{ext|dxr}}
+
|extensions={{ext|dcr}}, {{ext|dir}}, {{ext|dxr}}, {{ext|cct}}, {{ext|cst}}, {{ext|cxt}}, {{ext|drx}}
 +
|mimetypes={{mimetype|application/x-director}}
 
|pronom={{PRONOM|x-fmt/341}}, {{PRONOM|fmt/317}}, {{PRONOM|fmt/486}}
 
|pronom={{PRONOM|x-fmt/341}}, {{PRONOM|fmt/317}}, {{PRONOM|fmt/486}}
 +
|type code={{Type Code|MV93}}, {{Type Code|FGDM}}, {{Type Code|MC95}}, {{Type Code|FGDC}}
 
|released=≤1995
 
|released=≤1995
 
}}
 
}}
 
:''For Shockwave Flash, see [[SWF]].''
 
:''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).
 
'''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 is based on the [[RIFF]] metaformat, but with data stored as big endian, (so the magic bytes are RIFX instead of RIFF)
+
The format seems to be based on the [[RIFX]] metaformat, though some DCR files are not[https://web.archive.org/web/2021/https://sites.google.com/site/reverseshockwave/home/dcr-format] 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[https://docstore.mik.ua/orelly/web2/wdesign/ch26_07.htm] 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 ==
 
== Identifiers ==
This format has three related extensions: DIR is uncompressed, DCR is compressed, and DXR is encrypted.  
+
File extensions:
 +
* .DIR = Director file (holds an editable project)
 +
* .DXR = Protected (compiled & read-only) Director file; most commonly seen on published CD-ROMs. (.DRX extension has also been seen)
 +
* .DCR = Shockwave (protected & compressed) version of DIR; the normal format for distribution of Shockwave content over the Internet.
 +
 
 +
=== 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:
 +
* .CST = Editable Director cast
 +
* .CXT = Protected (compiled & read-only) Director cast
 +
* .CCT = Shockwave (protected & compressed) cast; to be loaded after a reference by (presumably) a DCR file
 +
Sources: [https://web.archive.org/web/2021/https://helpx.adobe.com/director/kb/common-questions-director.html] [https://forum.ragezone.com/f338/help-extracting-cct-files-280268/] [https://help.adobe.com/archive/en_US/director/UsingScripting/director_reference.pdf]
 +
 
 +
== Software ==
 +
* http://aluigi.org/papers/bms/shockwave.bms - (direct download) A script for QuickBMS roughly describing how to apply decompression to a DCR file.
 +
* [https://github.com/tomysshadow/Movie-Restorer-Xtra Movie-Restorer-Xtra] - "allows Director to open and save Protected and Compressed Movie Files"
 +
* [https://github.com/n0samu/DirectorCastRipper Director Cast Ripper] - Exports assets and information from Director movies and casts
 +
* [https://archive.org/details/recover_cct Recover-CCT] - "recovers" protected movie and cast files
 +
* [https://github.com/System25/drxtract 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"
 +
* [https://github.com/renaldobf/D4Player D4Player] - Open-source player for Shockwave 4 files
 +
* [https://github.com/scummvm/scummvm ScummVM] - Open-source player for early Director movies. [https://wiki.scummvm.org/index.php?title=Director See their wiki for compatibility information].
 +
* [https://web.archive.org/web/2021/https://www.adobe.com/products/shockwaveplayer/shwv_distribution3.html Adobe Shockwave Player installers for Windows & Mac OS X]
 +
* [https://archive.org/details/ProjectorSkeletonForAdobeDirector12.0.0.111 Standalone Director players for Windows]
 +
* [https://archive.org/details/dirOpener300-850-1-PC dirOpener] - Removes the protection from CXT/DXR/DCR files yielding readable files
 +
 
 +
== Sample files ==
 +
* [https://archive.org/details/SfantaScripturabor2001EditieJubiliara Sfanta Scriptura (BOR 2001, editie jubiliara)]
 +
* {{DexvertSamples|archive/macromediaDirector}}
 +
* [https://archive.org/details/CREATOR_201808 Director, CXT and [[SWA]] samples]
  
 
== Links ==
 
== Links ==
Line 19: Line 53:
 
* [[Wikipedia:Adobe Director]]
 
* [[Wikipedia:Adobe Director]]
 
* [[Wikipedia:Adobe Shockwave Player]]
 
* [[Wikipedia:Adobe Shockwave Player]]
 +
* [https://web.archive.org/web/2021/https://helpx.adobe.com/shockwave/kb/xtras-installed-shockwave-player.html Xtras installed with Adobe Shockwave Player] - Adobe's list of default extras installed with shockwave
 
* [https://github.com/eriksoe/Schockabsorber Schockabsorber] - Has some very rudimentary reverse engineering of the Director format.
 
* [https://github.com/eriksoe/Schockabsorber Schockabsorber] - Has some very rudimentary reverse engineering of the Director format.
 
* [https://gist.github.com/TheCjw/b21d82dfe43107c58a6f 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://gist.github.com/TheCjw/b21d82dfe43107c58a6f 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://web.archive.org/web/20220310020731/https://zenhax.com/viewtopic.php?t=252 Shockwave .DCR - ZenHAX (Archive.org)] - A thread on a game reverse engineering forum discussing the DCR format
 +
* [https://nosamu.medium.com/a-tour-of-the-adobe-director-file-format-e375d1e063c0 A Tour of the Adobe Director File Format]
 +
 +
== See Also ==
 +
* [[Lingo bytecode]], used in compiled Shockwave files
 +
 +
== 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 is backwards.
  
 +
[[Category:Miscellaneous File Formats]]
 +
[[Category:RIFF based file formats]]
 +
[[Category:Document]]
 
[[Category:Video]]
 
[[Category:Video]]
 
[[Category:Web]]
 
[[Category:Web]]
 
[[Category:Adobe]]
 
[[Category:Adobe]]
 +
[[Category:Macromedia]]

Latest revision as of 15:41, 28 April 2024

File Format
Name Shockwave (Director)
Ontology
Extension(s) .dcr, .dir, .dxr, .cct, .cst, .cxt, .drx
MIME Type(s) application/x-director
PRONOM x-fmt/341, fmt/317, fmt/486
Type Code MV93, FGDM, MC95, FGDC
Released ≤1995
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[1] 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[2] 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.

Contents

[edit] Identifiers

File extensions:

  • .DIR = Director file (holds an editable project)
  • .DXR = Protected (compiled & read-only) Director file; most commonly seen on published CD-ROMs. (.DRX extension has also been seen)
  • .DCR = Shockwave (protected & compressed) version of DIR; the normal format for distribution of Shockwave content over the Internet.

[edit] 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:

  • .CST = Editable Director cast
  • .CXT = Protected (compiled & read-only) Director cast
  • .CCT = Shockwave (protected & compressed) cast; to be loaded after a reference by (presumably) a DCR file

Sources: [3] [4] [5]

[edit] Software

[edit] Sample files

[edit] Links

[edit] See Also

[edit] 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 is backwards.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox