Cracking Lost

May 29, 2005

For the past few days, i’ve been working on breaking apart some of the easter eggs the producer of the ABC tv show “lost” have setup on a website they put up: Oceanic-Air.com

When i began, i had to face a problem. My problem was having to deal with my dialup connection not being able to stream the videos in a smooth, non-skippy way.

So, i worked towards being able to figure out how the videos were loaded. After thinking about it for a few minutes, i realized the videos loaded from inside the first movie.

So, I opened up one of my favorite mozilla componenets. Live HTTP Headers .

After opening that up, i refreshed the page, and watched the following urls be downloaded:

http://oceanic-air.com/_swf/seating_chart2.swf
http://oceanic-air.com/_swf/egg_charlie_claire.swf
http://oceanic-air.com/_swf/egg_marshall_card.swf
http://oceanic-air.com/_swf/egg_jack_url.swf
http://oceanic-air.com/_swf/egg_jack_bottle.swf
http://oceanic-air.com/_swf/egg_shannon_passport.swf
http://oceanic-air.com/_swf/egg_kate_plane.swf
http://oceanic-air.com/_swf/eating_chart2.swf

After downloading each one, i attempted opening them with normal old flash player. But, i ran into a problem.

The creators of the movies wrote actionscript to prevent viewing from any location other than http://oceanic-air.com .

So, i thought about it, and i remembered an application i had used which can decompile SWFs. That program is Sothlink SWF Decompiler .

So, i downloaded that. Opened up each swf, and viewed each video.

After that, i looked at some of the actionscript the creators made. Here’s the code used to draw in each easter egg:

function generateCharacters()
{
0 = new Array();
0.push({func:”loadSWF”, args:{file_id:”Charlie1″, file:”egg_charlie.swf”, type:”animation”}});
0.push({func:”loadSWF”, args:{file_id:”Charlie2″, file:”egg_charlie_claire.swf”, type:”animation”}});
1 = new Array();
1.push({func:”activateKate”, args:{}});
1.push({func:”loadSWF”, args:{file_id:”Marshall”, file:”egg_marshall_card.swf”, type:”animation”}});
2 = new Array();
2.push({func:”loadSWF”, args:{file_id:”Locke”, file:”egg_locke.swf”, type:”animation”}});
3 = new Array();
3.push({func:”customMoveJack1″, args:{}});
3.push({func:”loadSWF”, args:{file_id:”Jack1″, file:”egg_jack_url.swf”, type:”animation”}});
3.push({func:”loadSWF”, args:{file_id:”Jack2″, file:”egg_jack_bottle.swf”, type:”animation”}});
4 = new Array();
4.push({func:”loadSWF”, args:{file_id:”Shannon1″, file:”egg_shannon_map.swf”, type:”drag”, position:”below”}});
4.push({func:”loadSWF”, args:{file_id:”Shannon2″, file:”egg_shannon_passport.swf”, type:”stepThrough”, position:”below”, steps:4}});
5 = new Array();
5.push({func:”loadSWF”, args:{file_id:”Boone”, file:”egg_boone.swf”, type:”animation”}});
0 = new Array();
0.push({func:”loadSWF”, args:{file_id:”Rose”, file:”egg_rose.swf”, type:”animation”}});
1 = new Array();
1.push({func:”loadSWF”, args:{file_id:”Kate1″, file:”egg_kate_mugshot.swf”, type:”animation”}});
1.push({func:”loadSWF”, args:{file_id:”Kate2″, file:”egg_kate_plane.swf”, type:”animation”}});
} // End of the function

So, it appers i don’t have all the easter egg videos.

So, i go and download the rest of the movies:

http://oceanic-air.com/_swf/egg_charlie.swf
http://oceanic-air.com/_swf/egg_locke.swf
http://oceanic-air.com/_swf/egg_shannon_map.swf
http://oceanic-air.com/_swf/egg_boone.swf
http://oceanic-air.com/_swf/egg_rose.swf
http://oceanic-air.com/_swf/egg_kate_mugshot.swf

The complete list:

http://oceanic-air.com/_swf/seating_chart2.swf
http://oceanic-air.com/_swf/egg_charlie_claire.swf
http://oceanic-air.com/_swf/egg_marshall_card.swf
http://oceanic-air.com/_swf/egg_jack_url.swf
http://oceanic-air.com/_swf/egg_jack_bottle.swf
http://oceanic-air.com/_swf/egg_shannon_passport.swf
http://oceanic-air.com/_swf/egg_kate_plane.swf
http://oceanic-air.com/_swf/eating_chart2.swf
http://oceanic-air.com/_swf/egg_charlie.swf
http://oceanic-air.com/_swf/egg_locke.swf
http://oceanic-air.com/_swf/egg_shannon_map.swf
http://oceanic-air.com/_swf/egg_boone.swf
http://oceanic-air.com/_swf/egg_rose.swf
http://oceanic-air.com/_swf/egg_kate_mugshot.swf

But, this isn’t the only secret.

There is also a secret an unprotected secret at http://oceanicflight815.com

I’m still working on a way to export an swf without actionscript protection. But, you can always use Sothlink SWF Decompiler to crack it yourself.

Advertisements

3 Responses to “Cracking Lost”

  1. rYno Says:

    I’ve found Flash Decompiler MUCH more useful when doing things of this sort. I’ve found that with large action-script files – sothink crashes immediately.

    Get it here:
    http://www.flash-decompiler.com/

    You’ll appreciate the difference. I’ll never switch back.

  2. Krista Antonini Says:

    Death toll – aprox. 70 on INT scale.


  3. below is a link to a blog trying to cure ibs or find cures for the dreaded ibs, irritable bowl syndrome, it effects lots of people, so far there does not seem to be any out and out cures for the syndrome/disease?.

    ibs blog link click here


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: