I have been fascinated by reverse engineering after making several emulators and finding the pret community. I love the idea behind decompiling old games and recreating source code that recompiles into a matching file.

I recently found an old game that was hosted by Cartoon Network that I must have played around ~2001. I downloaded the source file and it is 514 Kb file with a .dcr extension.

If this is anything like any other computer program, this file should store all of the games logic, images/sound, etc. that is interpreted by the Adobe Shockwave VM.

Is it a feasible task to reverse engineer and extract data/code from a compiled .dcr file, or is this technology too outdated and proprietary to try and reverse engineer and test? Apparently the .dcr file is generated by the "Director" application. Does this mean that if I wanted to RE this game, I would have to find the exact Director version they used when creating the game so it compiles into the same bytecode? Is this too complex of a project for a single person?


There's a lot to Google on the topic, so take some time to do that and learn about what the *.dcr format is. A great initial point of reference for you is this post on the ZenHAX forum, where a script or two have been created for use with their program, QuickBMS. That won't teach you how to reverse the format, but if you spend some time reading what QuickBMS scripts are comprised of, you'll end up travelling down the path of reversing file formats using archives themselves as the sample.

I actually worked on reversing a Director application not too terribly long ago. I made notes and documented what I'd found at the time here and here, so those may be useful for ancillary points in regards to your studying.

Finally, you'd probably be best suited to inquire around both the ZenHAX and XeNTaX forums, since they both primarily focus on reversing file formats. That should all get you started quite nicely in the direction you're interested in heading. =)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.