Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Meta:

3DO Special

June 25th, 2006 by Multimedia Mike

At long last, I have finally gathered up all my 3DO titles accumulated over the years and studied them with the help of the Opera filesystem Linux module. Thus marks the triumphant return of my inexplicably popular Multimedia Exploration Journal.


3DO Console

I have been curious about 3DO multimedia for a long time, ever since someone sent me some FILM files that he had found on the 3DO version of Lemmings using a custom tool to read the disc. Early CD-ROM-based consoles rarely had standard FMV API so the developers had to explore the emerging field on their own.

During this investigation, I found a number of the titles were published by Electronic Arts. A number of them used AIFF files for audio and a custom container format for what appears to be Cinepak data.

Posted in Game Hacking | 2 Comments »

Son Of Early Adopter

June 21st, 2006 by Multimedia Mike

Pursuant to my senseless HD DVD purchase a few months ago, fairness demands that I give equal time to Blu-Ray now that the discs are out…


Fifth Element Blu-Ray Package
Click for larger image

… even though you may have heard that the players aren’t available yet. Best Buy told me that the Sunday is the official day to start selling the Samsung player (no Sony in sight), though some Best Buy stores allegedly accidentally sold some prematurely.

The box copy touts 1920×1080 progressive scan video. Subtitles come in 7 varieties including English, English SDH (what’s that?), and Thai. The audio is listed as English 5.1 (uncompressed), English 5.1, and French 5.1. Presumably, the latter 2 options are compressed. The package sports the Dolby Digital logo. How is 5.1 audio stored uncompressed on these discs? If each channel were allocated 48 KHz, 16 bits/sample, that would require ~8.7 GB of the 23 GB disc for this 126-minute feature.

Anyway, for those who want to look for hidden messages in the literature accompanying the disc, see below (click any picture for a larger image).

Read the rest of this entry »

Posted in General | 1 Comment »

SoC Blogs

June 17th, 2006 by Multimedia Mike

I know some of you are eager to know how the various FFmpeg Summer of Code projects are coming along. At least 2 participants are blogging about their status so you can keep up:

Posted in Open Source Multimedia | No Comments »

Secure Automated Builds

June 16th, 2006 by Multimedia Mike

I have a small, low-power x86 Linux box sitting on the internet. I want to use it to set up an automated build system for FFmpeg. To what end? At the outset, I would like to validate that the entire codebase builds, with all extra modules enabled, under different gcc versions and post results to a webpage.

The process outline is pretty straightforward. At periodic intervals:

  • check out a fresh copy of the FFmpeg SVN tree
  • ‘configure’ with all relevant options and the desired compiler version
  • ‘make’, log the stdout and stderr text in separate text files
  • log the status report to a public website

Pretty simple so far. Other ideas include compiling with multiple compiler versions, including cross-compilers for multiple platforms; automated regression testing; aggregated results sent to a new mailing list [insert your brainstorm here]. I’m starting small because this particular machine requires almost a half hour to complete just one FFmpeg build.

Here is the big item I’m concerned about: How to guard against malicious script injections? Not to say that I don’t trust my FFmpeg brethren but… I can’t think of a good way to end that sentence. But think about it: When you run the configuration script and Makefile, you’re executing free-form shell commands. One of the worser-case scenarios:

all:
    find / | xargs rm -rf

“But Mike,” I hear you exclaim, “as long as you run it as your own unprivileged user vs. root, it won’t destroy the entire system.” That’s terrific news; the easily replaced Linux base system would be safe. So what about running the build process as a heretofore non-existent user (something other than ‘nobody’ since a standard Linux box is going to have files owned by him)? Random shell commands could still, for example, read world-readable files and transmit them offsite. What kind of files? I’m not interested in the fine details, it’s still a security hole.

So there is the possibility of switching to the unknown user in its own chroot’d shell. Ideally, this environment would:

  • prohibit network access (setup process gets the fresh SVN tree before entering chroot shell)
  • have access to various build tools

I guess what I’m wondering is: Have these problems already been solved? Are there open source projects that already provide good solutions to these problems? Otherwise, I already know it’s a lot of work to set up such an chroot environment (and I have no idea how to prohibit network access for a particular user).

Posted in FATE Server, Open Source Multimedia | 3 Comments »

Parallels

June 13th, 2006 by Multimedia Mike

When you exercise at the gym you see people who are likely just starting with the whole workout thing. Some may have been motivated by realizing that their bodies were not going to last much longer if they didn’t make some major lifestyle changes. Achieving good health is not a state that an unhealthy person can attain overnight. Maintaining good health over the long term requires ongoing discipline.

To tie this into multimedia and open source, I think it’s really fortunate that there has been a talented community of hackers working on open source multimedia playback and encoding solutions for so long. Can you imagine where the open source community would have been in terms of multimedia support if people had just started working on the problem this year? There’s a huge legacy of multimedia formats to support. I mean, the guru does amazing work, but imagine if he only started the effort sometime this year and largely worked on his own. To have to start now would be tantamount to the 350 lb (160 kg) fellow at the gym starting down his long, painful road. Thankfully, the community is more equivalent to long-time regular gym patron and body builder.

I just think it’s a good situation to be in. I shudder when I think what would have happened if open source multimedia playback solutions had been neglected for so long that the community didn’t have the technical knowledge to support its own.

Posted in Open Source Multimedia | 2 Comments »

DoubleTwist Ventures

June 11th, 2006 by Multimedia Mike

DVD Jon reports that he is joining up with a curious Bay Area outfit (or, for all we know, perhaps he IS the outfit) named DoubleTwist Ventures, an organization that explains its charter as focusing on:

the development of interoperability solutions for digital media and the reverse engineering of proprietary systems for which licensing options are non-existent or impractical.

Sounds suspiciously similar to what we multimedia hackers do purely for our leisure-time programming. Live the dream, Jon. Get paid for what you love to do!

All I know about the company is what the front page of the website reports, which is a text blurb pasted on a picture — very 1996. Seems out of place in this day and age. The mailto: link has a bad email address, too (though it may be a counter-spam measure and the text in the picture looks valid).

Posted in Multimedia PressWatch, Reverse Engineering | 2 Comments »

More NES Password Madness

June 10th, 2006 by Multimedia Mike

I was perusing my old Nintendo Power issues today, as I am wont to do for no good reason, and I stumbled upon a forgotten bonus that the magazine shipped to its subscribers once upon a time– Top Secret Passwords:


Top Secret Password Guide cover
Click for a larger image, and to guess which game is covered by the level 8 password on the sticky note

Now I’m playing with power. They put a tremendous amount of work into that cover. Passports for not only the Principality of NES but also the Republic of SNES. I guess in the early 1990s, nothing said “top secret” quite like a portable phone. Luckily, the book features passwords for Solar Jetman, the present object of my password infatuation. I wonder if the official password validator accepts the secret password comprised of all ‘Q’s, or if that’s handled by a special case.

Not only is Solar Jetman covered in the book but when I opened the book a carefully folded piece of paper slid out. It contained a number of very neatly written passwords, including ones for every world in Solar Jetman! It doesn’t look like my handwriting, plus the paper includes passwords for games that I never would have been caught dead playing. What a mystery. It’s almost like someone meant for me to find these clues and take up the cause of researching these ancient Nintendo password systems.

The password book contains passwords for a number of games where the only information carried in the password is what level the player was on. For a number of such games, I did a quick string check through the respective ROM data for the passwords. It looks like no coders bothered to use straight string comparison techniques for password validation.

One can only guess what sort of international espionage thrillers influenced the book’s artists, but their conceptualization of incognito (and airplane markings) involved a lot of pink:


Codename: Pink
Click for larger image of Codename: Pink Gamer

Posted in Nintendo, Outlandish Brainstorms | 1 Comment »

RE-NES

June 7th, 2006 by Multimedia Mike

Notepad time! (This is where I just use this blog as a piece of scratch paper for random investigations.)


Solar Jetman password screen
Solar Jetman’s password entry screen

Reverse engineering the password system from an old NES game…

Read the rest of this entry »

Posted in Nintendo, Reverse Engineering | 5 Comments »

Nintendo Intelligence Agency

June 4th, 2006 by Multimedia Mike

I spent the vast majority of my junior high free time in front of a scratchy television connected to a Nintendo Entertainment System (NES) console. (Try not to act too surprised.) Many of the more involved Nintendo games either had battery-backed RAM on the cartridge PCB for saving games or employed a password system. The game would issue a password at various junctures in the game that you were expected to copy down accurately so that you could resume your game at a later time. Password lengths were commensurate with the complexity of the game and the amount of information required to represent a game’s state. For example, some games obviously had a table of plaintext 4- or 5-character passwords since the only information being saved was which of the game’s 8 levels the player has just passed. On the other end of the spectrum, the most complex password system I ever encountered was for Wall Street Kid, the groundbreaking stock market sim for the NES. It was a variable length password (at least 50 characters was nominal, if memory serves) with just about every letter of the English alphabet, upper and lower case, numbers, and various other symbols. I don’t think I ever successfully copied down a password for that game.



Wall Street Kid Title Screen
Wall Street Kid

Read the rest of this entry »

Posted in Nintendo, Outlandish Brainstorms, Reverse Engineering | 4 Comments »

Primitive Drawing Tool

June 1st, 2006 by Multimedia Mike

“Primitive” might be the wrong word. What tool might I create simple, instructive pictures for a technical topic like, for example, the Understanding VC-1 Wiki page? Sometimes, a picture explains an algorithm better that a wall of bulleted text. Ideally, this would be a tool that runs under Linux and is free. Open source is is nice, on principle, but in this case I’m more interested in something that works already so I don’t have to modify it.


Palette

Posted in General | 8 Comments »