Skip to content

evitiello/the-beast-unite-and-resist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

the-beast-unite-and-resist

Preface

In the year 2001, the movie A.I. Artificial Intelligence was announced. As part of the marketing effort for the movie, Warner Brothers enlisted Microsoft to create an Alternate Reality Game that became known as The Beast.

Dozens of websites were created, purporting to tell a murder mystery tangential to the movie. The general public was enlisted to figure out the mystery by solving puzzles and challenges on the websites, finding more about the story along the way. There was a large group of individuals named Cloudmakers that chatted about the game in yahoo groups and IRC.

One of these websites, Unite and Resist had a page that required a code to proceed further.

There were multiple groups working on trying to figure out the code by tracking it down from within the game. I decided that brute forcing it might be faster, so I wrote these scripts. In the end, one of the other teams prevailed.

I thought now might be a good time to release this code, since I just recently rewatched the movie.

There is an archive of the home page for this on my website.

The Code

In this repository you'll find the code that was used for brute forcing. I was inspired greatly by the BOINC distributed computing project. This code breaker works in this model, with a server DB that keeps track of the codes that have been tried, as well as distributes blocks of codes to the clients to try out. The code was primarily distributed as a compiled executable for windows machines. The client is written in Perl, and the DB backend was MS-SQL. There was no API layer between the clients and the DB (Yes, this is terrible, it was the year 2000.)

/[0-997B-1047-1-100-0-A.htm](0-997B-1047-1-100-0-A.htm) A sample of the code input HTML page
/stats_overall.htm  :  a snapshot of the statistics page
/1.0  :  Version 1.0, not distributed.
/1.2  :  Version 1.2, the first distributed version
/2.0  :  Version 2.0, Code is lost.
/3.0  :  Version 3.0
/3.1  :  Version 3.1, the final version
/current : In-development code
/sql  :  SQL Scripts for creating the DB
/utilities : reporting and maintenance utilities.