Category Archives: Reverse Engineering

Brainstorming and case studies relating to craft of software reverse engineering.

Duck TrueMotion 1 Redux

Some time ago, Alex Beregszaszi and I created an FFmpeg video decoder to handle Duck TrueMotion 1 data. However, there are two major variations of this data format: 16-bit and 24-bit. The FFmpeg decoder presently only handles 16-bit data. There is a non-negligible number of games from the mid- to late-1990s that used this format for their FMV and many of them use the 24-bit variant.


Virtua Cop 2 Intro
Virtua Cop 2, Sega Saturn,

one of the Duck TM1-using games that uses the 16-bit variant

Continue reading

Open Source QDesign Is Here!

A significant milestone in open source multimedia: A group of highly dedicated and talented multimedia hackers has successfully reverse engineered the QDesign Music Codec (fourcc: QDM2) and released an open source decoder implementation. As usual, it is a piece of the FFmpeg project and the source code is available in the FFmpeg CVS repository, just waiting to be plugged into any libavcodec-using application. Be sure to pass the proper extradata through to the decoder.

There are very few QuickTime files that can not be played using open source software.

Thanks to all the folks who were involved in this effort: Ewald Snel, Benjamin Larsson, Alex Beregszaszi, and Roberto Togni.