16 September 2020

Doctor Who Adventure Games

 If you have a copy of the original installers for the Doctor Who Adventure Games, you'll find out that they will fail to run with an error message, because they are validating them against the Doctor Who BBC website, and they were taken down due to a licensing issue with the developer.

However, it's not too hard to remove the validation on the underlying installer's code so that you can always run them.

Some things to be aware of:

A. The installers are partially cumulative updates on top of one another - meaning that by the fourth episode, a lot of the code in the previous versions was updated. The installer automatically replaces any old files based on their date - whatever is older automatically gets replaced with the latest version. The order is as follows:

1. City of the Daleks

2. Blood of the Cybermen

3. TARDIS

4. Shadows of the Vashta Nerada

5. The Gunpowder Plot (has its own launcher so can be done separately)

B. The Steam versions appear to put a valid keyfile.txt in the installer so that the games can be run and skip the validation entirely. It might be unique to each person's copy. I've not tried running it without Steam installed. Some other code was updated in the Steam version to add achievements, alongside general map and audio updates, so you won't want any of the achievement code if you're using these versions.


Here's a summary of the changes made:

1. Extract the EXE file with an InnoSetup extractor such as UniExtract

2. Using Resource Hacker, or a hex editor, you'll need to edit the file DoctorWho_Pc.exe as per the following screenshot. By changing the JNZ (Jump if not zero) to a JMP (always jump) - explained here, you can skip over the code that performs the validation. Here I am editing version 4.0 of the file which was in the fourth episode, Shadows of the Vashta Nerada. You can use this version with the three others without issue.







3. You need to create the file keyfile.txt inside the {app} folder, and it's just an empty file.

4. You need to edit the install_script.iss to not copy the InstallValidator.exe file, and instead copy the keyfile.txt




5. So to summarise the changes needed. The Output exe is created in the next step.




6. Next, you need to use Inno Setup Compiler to open the install_script.iss and compile the binary (Build > Compile). The output is the .exe file as above.

7. Rinse and repeat for all 5 of the installers. I'd recommend replacing the file DoctorWho_Pc.exe in each of the installers you recompile so that all of them can be installed. Note that The Gunpowder Plot uses a different EXE entirely so the hex edit will have to be reproduced for just that one.