Saturday 31 October 2015

How to get Need For Speed Carbon Working Under Windows 10.

Hi Gamer guys and Gamer girls!

Today I will show you  how to get Need for Speed Carbon working under Windows 10. This same process can be used for other games as well.

UPDATE: The instruction that is present at the bottom half of this post need only be performed once. See the very bottom for the rest of this update.

I have plenty of video games I have bought and never sold. I still have their original packaging, receipts, and you will be lucky to see any scratches on my CD's or DVD's. As the years went by and new versions of Microsoft OS's came out, I am always nervous whether my old games will work or not. That is because I sometimes still play them(at least the ones I can still get working).

This then brings me to Need for Speed Carbon. It would not work so rather than re-invent the wheel, the first thing I did was scan the Internet to see if somebody has found a way to make it work. I could not find any where that showed how to make it work other than NoCd cracks(which you must never get).

The symptoms are:
-The game installs fine but:
-You try to run NFSC.exe and it asks for Admin privileges.
-You launch it with admin privileges but nothing happens, the CD does not get accessed, no process is created.
-You try compatibility modes but  nothing works.

Read on!

The most interesting thing abut NFSC is that it uses the same game engine as Need For Speed Most Wanted, and need for Speed Most Wanted works perfectly fine under Windows 10. So the first trick was to see if I can get the need for speed most wanted exe to launch Carbon, or at least do something enough to give me some clues. It fired ok and asked for the CD even though the NFSC CD was still in the drive. I popped in the NFSMW disk and the game started to launch, the NFS Carbon splash screen came up and then the game crashed. This would give me a clue later on, just not immediately.

I attached a dis-assembler(ollydbg) and walked through it to see what was breaking. It failed after making a call to ntdll. There were a whole bunch of other external files it had jumps to. I was getting a little suspicious, it did not want to read the CD.

Long story short, as it turns out, the NFSC executable is infact a Safe Disc decrypter by Macrovision. Worse still, Microsoft has announced that Windows 10 will not support Macrovisions DRM driver secdrv due to security issues. I personally fully support this decision, however it is clear that nfsc is not the only game that is going to be affected. After much research, I found that if you can get hold of secdrv.sys, you can get older games to run, so the question I asked myself was 'can I get NFSC to run'? It is not that straight forward as simply copying secdrv.sys into the right folder and the popular "deso" tool does not work for Windows 10.
I will explain how to get it to work.

How to get Need for Speed Carbon Working Under Windows 10 - THE INSTRUCTIONS

The trick is to sign the driver your self. See this link for signing the driver your self:
Test Signing a Driver

Step 1:
Get secdrv.sys either from an older windows version or download it from the internet. Microsoft no longer supplies this driver in Windows 10. But you must get this driver for the correct architecture. Hence you cannot load a 32 bit driver in a 64 bit system and vice versa. Place the file in C:\Windows\System32\drivers\
Step 2:
Open command console using elevated privileges (Admin command prompt: right click Windows start icon, choose "Command Prompt (Admin)")
Step 3:
You will need a tool called SignTool. If you do not have it, download it as a part of the windows 10  SDK. If your environment settings are not automatically added after installing the SDK, you can find it(assuming default install) in : C:\Program Files (x86)\Windows Kits\10\bin\x64 (for 64 bits) and C:\Program Files (x86)\Windows Kits\10\bin\x86  (for 32 bits). Alternatively you can temporarily add it to your path by typing  at the command prompt:
path=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\x64 
(or change x64 to x86 if for 32 bits).
Step 4:
You need to create your own certificate store. For simplicity I will call my store "MyCertStore" and I will call the certificate file "MyCertStore.cer" And call the Certificate name OLDGAMESCERT
Firstly you create the certificate with the following command:
MakeCert -r -pe -ss MyCertStore -n "CN=OLDGAMESCERT" MyCertStore.cer
Step 5:
Sign the secdrv driver by issuing the following command:
SignTool sign /v /s "MyCertStore" /n OLDGAMESCERT /t http://timestamp.verisign.com/scripts/timstamp.dll C:\Windows\system32\drivers\secdrv.sys
Step 6:
You will need to install the certificate to Trusted Root Certificates with the following command:
CertMgr /add MyCertStore.cer /s /r localMachine root

After that command it should say that CertMgr completed successfully. If it does not and instead launches the certificate manager (Image below) then you need to do something different.


You may see something like the screenshot above.

In that case look for the store name you created, in this example it is "MyCertStore" and expand that branch on the left pane. You should see another branch called "Certificates". Click on that and on the right hand pane you will see the certificate with the name you called it (OLDGAMESCERT). Right click and select Copy. Then expand the branch on the left hand pane called "Trusted Root Certificate Authorities" and then then click on "Certificates" branch under that. Right click in the right hand pane and select "Paste". It will display a message asking if you want to install the certificate here --of course you do!
Step 7:
Once the certificate is installed, close certmgr (unless your certmgr did not open and yours worked fine from the command prompt -in that case continue on to step 8).
Step 8:
You should still have the admin command prompt open. If not, open it again. Issue the following command:
bcdedit -set testsigning on

WARNING: THIS IS A DANGEROUS COMMAND, READ THE FOLLOWING BEFORE DOING IT:
The above command will switch on test mode for loading unsigned drivers. This is a serious security risk and will open your system to virus and malware attacks. It should only be used for developers to test drivers they are developing by signing unverified certificates.
Why I am showing you this is for those people who want to run NFSC without using any of the options that will come at the end of this article, and also it is a proof of concept that this game CAN run under windows 10.
Step 9:
Reboot your system. Once rebooted and you have logged in, you will see a test mode watermark on the lower right corner of you screen. This should not appear in your game and there are ways to remove it, however, I recommend that you do not disable this watermark. This watermark serves as a reminder that you need to switch off the test signing after you are done playing the game.
Step 10:
Launch your game with your original CD in the drive and Need for Speed Carbon should launch.

The next step is pretty easy.... PLAY HARD!!! --But it isn't over yet, there is just one more thing to do...

Step 11:
DISABLE TEST SIGNING MODE:
Open the admin command prompt again and issue the command:
bcdedit -set testsigning off
Then reboot your computer. Confirm that the test mode water mark is gone.

Why I recommend the following options instead of the above:
As mentioned above under the RED headings', it is very dangerous as you are crippling your systems security. If you are really desperate and do not have any other older copy of Windows, then this will get you playing again.

I Recommend the following options instead:
1) Purchase a version of the game that does not use Safe disc anymore such as from Valve's Steam
2) Install an older version of windows as a multi boot and install your old games on that.
3) Revert back your Windows 10 upgrade (don't do this, Windows 10 is awesome, please keep it!)

NEVER use noCD crack (even though Microsoft appears to be advocating its use under windows 10 for old games!).
NoCD Cracks have a high chance of containing malware that is probably more dangerous than switching your system TEMPORARILY to Test signing mode.

*** UPDATE ***
You only need to perform the instructions provided ONCE. After that you just need to switch the testsigning instruction ONLY. Hence: Switch on testsigning, reboot computer, play game, switch off testsigning, reboot computer.


Happy Gaming everybody!