Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

General Palettized Animation Codec

July 26th, 2005 by Multimedia Mike

Originally, I was building this hypothetical video codec around old 8-bit NES videos. However, my Old Skool gaming colleague, Trixter, suggested that I think more generally and design the codec around video output from 1st and 2st generation gaming consoles. For reference, these generations are defined as:

  • 1st-generation: Atari 2600/5200/7800, Intellivision, Colecovision, Nintendo Entertainment System, Sega Master System, etc. 1976-1988
  • 2nd-generation: Sega Genesis/CD/32X, Super NES, TurboGrafx-16, Neo Geo. 1989-1993

Writing about this codec idea is so much fun because I get to use colorful video game screenshots. For example:

U.N. Squadron

U.N. Squadron, Super Nintendo
Golden Axe

Golden Axe, Sega Genesis

Read the rest of this entry »

Posted in Open Source Multimedia, PAVC | Comments Off on General Palettized Animation Codec

More NES Video Coding Ideas

July 25th, 2005 by Multimedia Mike

[a continuation of Custom NES Video Codec]

Data compression is all about analyzing the nominal characteristics of a particular type of data and understanding how that data can best be coded using the least amount of information. Let’s look at some of the characteristics of NES video:

Fun NES Screenshots:
Battletoads Screenshot Blaster Master Screenshot
Battletoads Blaster Master

Read the rest of this entry »

Posted in Open Source Multimedia, PAVC | Comments Off on More NES Video Coding Ideas

Pretty Call Graphs Based On The call/ret Monitor

July 22nd, 2005 by Multimedia Mike

Thanks for Benjamin Larsson for advising me on how to make a proper graph using Graphviz (specify a graph of type ‘prof’ vs. ‘unix’). Thus, here are some nice (and big) graphs based on the call/ret experiment at this point:

See this post (“Refining The call/ret Monitor”) for details on how the graph data is generated.

And as a bonus, I put the toolset to work analyzing Linspire’s WMV3/WMV9 decoding module. Here are some call graphs (I used the teaser trailer from Halo 2, hence the “halo2” in the filenames):

Posted in call/ret Monitor, Reverse Engineering, Windows Media | Comments Off on Pretty Call Graphs Based On The call/ret Monitor

Refining The call/ret Monitor

July 21st, 2005 by Multimedia Mike

Reverse engineering is, of course, a tedious, time-consuming, and error-prone task. It requires a lot of concentration that I either do not have or do not care to invest in the RE task. That is why so many of my RE experiments are geared toward automating the task as much as possible. To that end, I am optimistic about this call/ret monitoring experiment since it yields such a good high-level overview of an algorithm contained in a binary (with debug symbols). But it can use some improvement(s):

Read the rest of this entry »

Posted in call/ret Monitor, Reverse Engineering, Windows Media | Comments Off on Refining The call/ret Monitor

« Previous Entries Next Entries »