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!

29 comments :

  1. It says that "MakeCert" is not a command?

    ReplyDelete
    Replies
    1. Hi.
      MakeCert and the SignTool is not included in Windows 10 by default. You need to download the Windows 10 SDK from the Microsoft download site. It will then be installed. See step 2 of my instruction. After installing the SDK if you still get that error, I also describe in step two where it will be located on a default install.
      Good luck! :)

      Delete
    2. I've downloaded windows 10 sdk and installed it as you have stated in your instructions. When I try to run the command "makecert", a message pops up that reads, " 'makecert' is not recognized as an internal or external command in command prompt. How do I fix this problem?

      Delete
  2. This just means that your environment path is not set to point to the folder in which makecert resides.
    Did you do a default install (which installs to C: drive)?
    Do you know if you have a 32 bit Windows 10 or 64 bit windows 10?
    Open a command prompt with administrator privledges by right clicking on the windows button and then selecting "Command Prompt (Admin)". Oncve it is open type one of the two commands:
    For 64 bits type: path=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\x64
    For 32 bits type: path=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\x86
    Now run the makecert command. If you went for the default install, it should work.
    Please also see this link: http://stackoverflow.com/questions/31772109/makecert-missing-from-windows-10-and-visual-studio-2015-install

    ReplyDelete
  3. Default install. yes
    makecert file is present
    64 bit Windows 10. Yes
    Typing in command for 64 bit type. Yes, but when I go to type the command 'makecert', the same message keeps reappearing.

    ReplyDelete
  4. The message simply means it cannot find "MakeCert" application. If you have tried the "Path" command I gave then your system is not setting the path for some reason. However since you say that "MakeCert.exe" is there, then you must know what folder it is in. Navigate to that folder using windows explorer. Once there, in that windows explorer screen click "File" then hover your mouse on "open command prompt". Two more options will appear for the command prompt. Select the one that says "Open command prompt as administrator". A command prompt should open in the same folder as what you navigated to. Now run the command.

    ReplyDelete
  5. Thank you! It worked!

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. When running the command, SignTool sign /v /s OLDGAMESCERT /n "MyCertStore" /t http://timestamp.verisign.com/scripts/timstamp.dll C:\Windows\system32\drivers\secdrv.sys, an signtool error popped up and read "file was not found".

    ReplyDelete
  8. Even though the file is there

    ReplyDelete
  9. This is a different error then previously. This looks like it cannot find the store on your machine. modify the "/s" switch to "/sm" so it forces it to look at your machine. Here is what the example should look like:
    SignTool sign /v /sm OLDGAMESCERT /n "MyCertStore" /t http://timestamp.verisign.com/scripts/timstamp.dll C:\Windows\system32\drivers\secdrv.sys

    ReplyDelete
    Replies
    1. I have the game on hard drive. It only has normal command prompt and Windows powers hell command in the x64 file location.

      Delete
    2. I have the game on hard drive. It only has normal command prompt and Windows powers hell command in the x64 file location.

      Delete
  10. Just to add to that note; Look closely at the SignTool message after you run the modified command. If it cannot find your store it will still sign secdrv.sys with one of the certificates already on your machine. I have not tested this configuration but it might still work for you. I will look into this some more.

    ReplyDelete
  11. Ok, I ran my command and now realise that there is an error in my command. Thank's for posting with questions, I will correct it now. Meanwhile the correct command with your certificate is:
    SignTool sign /v /s "MyCertStore" /n OLDGAMESCERT /t http://timestamp.verisign.com/scripts/timstamp.dll C:\Windows\system32\drivers\secdrv.sys

    ReplyDelete
  12. I got through those steps until I got to step 8 where you had to run the command, bcdedit -set testsigning on; I received another error message that read, "An error occurred setting the element data; the value is protected by secure boot policy and cannot be modified or deleted."

    ReplyDelete
  13. It looks like your computer is runing the newer UEFI BIOS which has a 'secure boot' policy. This can be disabled in BIOS. You will have to google up information on your computer if it did not come with instructions on how to do it. Also because it is your computers BIOS, you need to be confident with it before you make changes. Otherwise your computer may not boot up. I have also found a link that talks about disabling it:
    https://social.msdn.microsoft.com/Forums/en-US/e273c10b-a3aa-4f65-a638-600ad0bb3023/how-do-i-turn-off-the-the-secure-boot-policy-or-allow-modifications-to-values-protected-by-it-so-i?forum=samsungpcgeneral

    ReplyDelete
  14. Thank you so much! I got the game to work!

    ReplyDelete
  15. You are most welcome. Just make sure you play hard :)

    ReplyDelete
  16. Now this is way too complicated for me to do. I guess I just don't play Carbon anymore then. :( I really would like to play it again, but I just aren't that skilled with computer things to do this myself.

    ReplyDelete
    Replies
    1. Hi,
      You must know people who are confident with their way around computer systems? You could have one of them help you. There are easier ways too of course but those has nothing to do with Windows 10. You could, for instant, have a computer running Windows XP. Or purchase a non safedisk version. You could also get a computer skilled friend to set up a virtual environment with windows XP installed(you will need a legitimate copy of windows XP) and run it inside a virtual machine(see this blog post of mine: http://techdistillate.blogspot.co.nz/2015/11/how-to-get-old-games-working-under.html). VMWare is free for personal use and this is personal use. You could also try Virtual Box which is also free but I have not yet tried nfs carbon under that.

      Hope you find a solution that works for you.

      Delete
  17. I've followed the steps all the way to Step 8, but I'm unsure if I want to proceed with activating testsigning. Even with an antivirus and not going online while testsigning is on, is it really that much of a security risk?
    I'm planning on playing NFSC on my main boot drive... is it worth pursuing?

    ReplyDelete
    Replies
    1. Hi,
      Switching on Testsigning means that it will permit windows to load drivers which are unsigned or test signed. It is dangerous because those drivers have not been through a certification process which means there is no way for you to know whether it will harm your computer, and in what way. Eg put it at security risk.
      It is mainly a concern when loading drivers rather than just running a game (as long as you have a legitimately obtained copy such as from an original install disk). As long as you switch it back off immediately after playing your game, it should be fine.
      I over emphasized the warning because one could easily fall prey to a false sense of security and begin to leave it on.
      In essence, this how-to is really if you do not have any other mentioned way of playing the game.
      If your copy of the game is legitimately obtained then give it a go as long as you remember to switch off test signing mode immediately after.

      Delete
    2. Excellent! I just so happen to have a hard copy of the collectors edition of NFSC!
      Thank you for taking the time to explain this to me, and for writing this guide. We really appreciate it!

      Delete
    3. You are most welcome. Enjoy the game!

      Delete
  18. This comment has been removed by a blog administrator.

    ReplyDelete
  19. I have the game on hard drive. It only has normal command prompt and Windows powers hell command in the x64 file location.

    ReplyDelete
    Replies
    1. Hi Leon,

      You need to open the standard command prompt with administrator privileges. To do that, seach your windows start menu for cmd then right click on it and select "run as administrator". It will look the same as standard command prompt, but of course it is running in elevated privilege mode.

      If you do not have the tools used, you need to install it. I mention how to in the article.

      Good luck!

      Delete
  20. When playing a game is harder than making a software

    ReplyDelete