Author Archives: Multimedia Mike

Game Formats On The Horizon

There are few things as discouraging in research as replicated work. You work for weeks or months or whatever in order to figure out a format, and then someone else publishes before you. To that end, I wanted to post a list of multimedia technologies that other people have RE’d. I am sitting on these and will eventually get them into the open multimedia projects:

  • proper VMD audio decoding for early Sierra games
  • Gremlin Digital Video (GDV) file demuxing and A/V decoding, used in such games as Realms of the Haunting, Normality, and Hardwar, and perhaps other titles developed by Gremlin
  • AVS files , used in Creature Shock by Argonaut software and published on various platforms; the AVS files were used in the PC and Sega Saturn versions, possibly others
  • TGV files used in various Origin games
  • EA MJPEG-like video coding format used in WVE/UVE files

Lara’s Escape

Games published under the Eidos umbrella, most famously the Tomb Raider series, are known you use .RPL files for their full motion video (FMV). RPL appears to be a reasonably open container format and the details are in this document. The specific video codec used in this format is closed. It is known as “Escape”, internally identified as codec #130. (The audio format is also not entirely clear, but it definitely appears to be an ADPCM variant.)

Continue reading →

Thoughts On Reverse Engineering

I think a lot about software reverse engineering. This is directly related to my interest in multimedia hacking. See, a lot of multimedia technology is available in binary-only form. The only way to get at the algorithms is to take apart the binaries and understand the low-level sequence of instructions.

My primary motivation for starting this blog was to be able to organize my thoughts on the topic of RE in a consistent format. Then I decided I would publish it since there are actually people out there who are interested in reading this stuff. I originally tried posting a series of papers on the topic. That was a little limiting as the papers are naturally evolving. A blog format fits the topic much better.

For those just tuning in, I often use these abbreviations:

  • RE = reverse engineer
  • RE’ing = reverse engineering
  • RE’d = reverse engineered