Monday, October 31, 2011

Getting Book 4 of the Uplink Game Bible

Spoiler alert - these posts tell how to decrypt the books of the Uplink Game Bible. Be advised that all the books of the Uplink Game Bible are available in unencrypted form in the Uplink Developer CD which can be downloaded via BitTorrent. I use the Vuze BitTorrent client on a Mac and the website btjunkie.org

A word of warning - the challenge of getting the Uplink Game Bible was mostly intended for other Software Developers or hard-core computer enthusiasts.

It is not necessary to hack the Game Bible in order to play the game. The Game Bible only contains design notes and sketches the Introversion developers made while developing Uplink, it does not contain any strategy hints, tactics, or secrets necessary to complete the game(AFAIK).

According to the information posted on the "Game Bible" page at http://members.multimania.nl/uplink/ ,
Ok this books has been brought out later, and it supposed to be availeble by those peer to peer programs like "Kazaa". But since almost no one can find it there, I have decided to put a direct link here:
Gamebible book4(mirror 1)
This link (http://members.multimania.nl/uplink/downloads/gamebiblebook4.zip.file) still works, you can download book 4 in unencrypted form there.

So supposedly, Book 4 was originally posted on Kazaa. I don't know if Introversion published any hints, encoded or otherwise, as to this fact. It may be that the location of Book 4 was encrypted in this text from the "book2.html" file included with the encrypted Book 2 of the game bible:
1234564651234561548945231324564 - 2.6Khz - 4564564123487548451656561616448
6782314897648763287623487623467 - 5.2Khz - 4748923785897298754238973287483
1234564651234561548945231324564 - 10.4Khz - 4564564123487548451656561616448
9939482813848903282398488499939 - 20.8Khz - 8299298474567729104857089372737
What to make of this? Each block of numbers is 31 decimal digits. The first and third rows of digits are the same. Each frequency is twice the previous.

From the Wikipedia entry for Kazaa, I read the following:
Kazaa started as a peer-to-peer file sharing application. Kazaa was commonly used to exchange MP3 music files.
Given that decoding Book 2 required using the bytes in a .MP3 file, it may be that the pages of Book 4 were distributed encrypted inside a .MP3 file. Perhaps the frequencies in the above message were to be used in extracting the individual pages of Book 4 from this MP3 file?

The person who encrypted the Uplink game bible has been previously known to use square wave forms in an MP3 file, namely the "world.dat" file used as the key for decrypting Book 2. I used the "Audacity" application (available for free, see http://audacity.sourceforge.net/ ) to zoom in on the waveform in the "world.dat" file to see the square waves. In the case of the "world.dat" file (which is actually an MP3 file), the square waves did not encode anything other than "0 1 0 1 0 1", i.e. zeroes and ones repeating.

Some key quotes from the decrypted readme.txt for Book 4 are:
You've successfully managed to break the code on book 4 of the designers bible. Well done. ... Finally, this file (JohnPhilips.dat) is designed to be downloadable from Kazaa and other File-Sharing programs.

These quotes indicate that the file was originally encrypted, and that it was available on Kazaa. My guess is that the "JohnPhilips.dat" file was an MP3 file which contained the pages of Book 4. It may very well be that some people have been distributing files named "JohnPhillips.dat" which are not the original encrypted file but which are instead just zip files containing the pages of book 4 of the game bible.

There is a "JohnPhillips.dat" file available for download in the http://www.introversion.co.uk/uplink/downloads/ folder, but this is just a text file containing the following message:

You're on the right track, but not quite there yet.
You're looking in the wrong place.
Try again John Philips.
This must mean that somehow you were supposed to be able to decode the text, "JohnPhillips.dat" in order to know what file to go looking for.