SECDRV.SYS Not Loading in Windows 10; this will break thousands of older games.

Anonymous
2015-08-01T20:13:40+00:00

Hello,

I have discovered an unfortunate problem with Windows 10.

Many games from the early-mid 2000's used Macrovision's SafeDisc (version 2) as a means of copy protection. At game startup, Windows loaded SECDRV.SYS to verify an original game disc was in the drive, after which the game would start.

When you try to run ANY game which uses this SafeDisc form of copy protection in Windows 10, the following happens:

 - You get an error window that tells you to log in with Administrator Privileges and to try again. This happens on any account, even those with Administrator access. The game fails to start.

 - If you then set "Run as Admin" compatibility mode on the game's startup file, the message disappears, but the game doesn't start.

 - Keeping a window open for C:\WINDOWS\SYSWOW64\DRIVERS shows SECDRV.SYS appearing at the moment you try to start the game. Based on its size, it appears to be the file that is present on the game disc (tested across several games), even though I see no disc activity and cannot find the file elsewhere on my system.

 - The Windows event log shows that SECDRV.SYS failed to load.

 - This happens both with an upgraded install (Windows 8.1 > Windows 10) and with a fresh Windows 10 install, with one of the games being installed immediately upon the fresh install completing.

 - On my Windows 64-bit 8.1 system, C:\WINDOWS\WINSXS has a folder called amd64_macrovision-protection-safedisc_31bf3856ad364e35_6.3.9600.16384_none_4e6b3758913c9240 with a SECDRV.SYS in it, presumably the one that ships with Windows. Windows 10 had such a folder in early builds, but it is missing from the release build. It appears SafeDisc support is missing entirely.

OTHER TESTING I HAVE DONE:

 - I updated one of the games to a version that no longer required the CD check, and it started immediately and ran perfectly once the check was removed. However, this is possible only with a very limited number of games, or resorting to fixes that violate the game's EULA or put the user's system security at risk.

 - I tried disabling driver signature verification and installing one of the games again; same problem.

 - Multiple compatibility modes; same problem. XP (Service Pack 3) mode and / or Run as Administrator mode make the error message go away, but the games still fail to launch.

SIGNIFICANCE:

Unless this is fixed in Windows 10, a massive catalog of older games will cease to function in Windows 10 for the simple reason that they cannot pass the SafeDisc copy protection check. I am accustomed to some games breaking with every new version of Windows as technology progresses (for example, the loss of the ability to run 16-bit programs in 64-bit Windows), but this seems to be an unnecessarily harsh change.

Windows for home | Windows 10 | Gaming

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

293 answers

Sort by: Newest
  1. Anonymous
    2018-02-17T05:10:00+00:00

    Microsoft does provide a way to re-enable SECDRV.

    • Install a game that brings (a recent version of) SECDRV.sys.
    • Install the Windows 10 SDK from Get the standalone Windows 10 SDK. Just install all components, cuz who cares.
    • Start PowerShell as Administrator.
    • Find makecat.exe, makecert.exe and signtool.exe and add the path to your PATH:

    dir -Directory -Path 'C:\Program Files (x86)\Windows Kits\10' -Recurse |

    where BaseName -eq "x86" |

    where { (dir $_.FullName -Filter makecert.exe) -ne $null } |

    where { (dir $_.FullName -Filter makecat.exe) -ne $null } |

    where { (dir $_.FullName -Filter signtool.exe) -ne $null } |

    select -First 1 |

    foreach { $env:Path = "$env:Path;$($_.FullName)" }

    • The ones in a x86 subfolder are always OK on all Intel architecture chips. No need to match the hardware or the OS bitness.
    • Create a new folder, copy SECDRV.sys in it. If it's an old version, use this one here. Its from September 2006.

    mkdir "$env:USERPROFILE\Downloads\SECDRV" | Out-Null

    cd "$env:USERPROFILE\Downloads\SECDRV"

    • If it's an old version, use this one here. Its from September 2006.

    curl -UseBasicParsing -Uri "https://github.com/ericwj/PsSecDrv/raw/master/tools/SECDRV/SECDRV.sys" -OutFile "SECDRV.sys"

    • Enable test signing boot mode.

    bcdedit /set "{current}" testsigning on

    • Pick a subject for the certificate.

    $Subject = "SECDRV.sys signing for $env:USERDOMAIN$env:USERNAME on $("{0:dd-MMM-yy HH:mm}" -f [datetime]::Now)"

    • Create a root certificate.

    makecert -r -sr LocalMachine -ss My -n "CN=$Subject"

    • Open Local Machine Certificates.

    certlm.msc

    • Go to Personal, Certificates and select the certificate created, there usually is only one, or match the subject, right click Copy.
    • Go to Trusted Root Certification Authorities, Certificates. Paste.
    • Go to Trusted Publishers, Certificates. Paste.
    • Make a text file called SECDRV.cdf in the folder and put this in it.

    [CatalogHeader]

    Name=SECDRV.cat

    PublicVersion=0x1

    EncodingType=0x00010001

    CATATTR1=0x10010001:OSAttr:2:6.0

    [CatalogFiles]

    <hash>SECDRV=SECDRV.sys

    • Make a driver catalog file in the folder.

    makecat -o SECDRV.txt -r SECDRV.cdf

    • Sign the driver. Use the thumbprint as shown in certlm for the certificate created, just double click it and look around, without spaces. Or get it in PowerShell with dir:

    $Cert = dir Cert:\LocalMachine -Recurse | where Subject -Match ([regex]::Escape($Subject)) | select -First 1

    $Thumbprint = $Cert.Thumbprint

    signtool sign /sm /s Root /sha1 "$Thumbprint" /t "http://timestamp.verisign.com/scripts/timstamp.dll" secdrv.cat

    • Install the driver.

    signtool catdb /u secdrv.cat

    • Reboot.
    • Test if it works.

    sc.exe start secdrv

    If it doesn't work,

    • one reason is the SECDRV.sys on your system is too old. Then the driver doesn't start.
    • Another reason is Secure Boot is enabled. Run bcdedit again after disabling it.
    • Another reason is you didn't reboot. You will have to reboot.
    • On 64-bit systems, SECDRV might still report 'This driver is blocked from loading' if it is configured with C:\Windows\SysWOW64\drivers\SECDRV.sys as the binary path. To 1) verify and fix this, 2) copy SECDRV.sys and 3) change the binary path of the driver service:

    sc.exe qc secdrv

    copy C:\Windows\SysWOW64\drivers\SECDRV.sys C:\Windows\System32\drivers

    sc.exe config secdrv binpath= C:\Windows\System32\drivers\SECDRV.sys

    In PowerShell, don't omit the ".exe." in sc.exe. Nothing will appear to happen, but you will have ended up with a file called "start", "qc" or "config" that contains the text "secdrv" because sc is short for Set-Content...

    Now play games.

    Thanks, this enabled me to install and run the Sims Deluxe and it's various expansion packs without the need for a NoCD. Certain it will work with other games that require SECDRV.sys.

    It's not perfect but this is the only way to restore full functionality with old discs. I wonder how severe the security vulnerability is though once this is enabled?

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2018-02-15T21:28:49+00:00

    i have the same problem with age of empires . not starting on win10

    is there a way around this problem or a fix yet

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2018-01-04T01:53:27+00:00

    I had this problem with Civ 4. I own an older copy of the hard disk. I recently decided to play it again, so I installed it on my windows 10 pc, and it wouldn't start up. I found a link to some noCD fixed .exe's. I simply downloaded them one at a time and replaced the exe in my game directory until I found the version that worked with my game. It runs perfectly without the cd now. Here is a link to the civ 4 noCD exe's. http://www.gameburnworld.com/gp/gamefixes/civilization4.shtml

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2017-12-31T03:37:12+00:00

    In relation to the topic of the OP ....Blocking SafeDisk DRM driver secdrv.sys.

    Why go through the bother of dual booting, or virtual machine ?

    It can also be difficult to get XP drivers for some current hardware too.

    • Note that the commands to enable/disable DRM Blocking shown on several posts do not work on Win10.

    They only work on Win7/8/8.1 as they disable the security update that gets installed to these versions of Windows.

    Win10 has DRM Blocking built in, so these commands do not work.

    For most disk based games, all that is required to circumvent DRM Blocking on Win10 is to use a noCD fix/hack.

    No more stuffing around with the disk either.

    Disabling DRM Blocking on Win10 to all the secdrv.sys driver to run does open Win10 to the potential of an attack via this

    dated driver. Small as that may be.

    • When using a noCD there is no disk check. You don't need to have the disk in the drive, so the secdrv.sys driver on the disk

    never gets invoked.

    The noCD fix skips the CD check, and tells the game the disk check has been successful, so there is no danger from that driver.

    • imo - A noCD is the safest way to circumvent DRM Blocking. I have been using them (with legit disk based games) for over ten years.I have close to 80 noCD fixes and have downloaded many more for these forums (to verify they are safe) and none have had a malware

    (note that some AV's flag these files simply because they are technically a hack).

    • Seriously retro games may need Virtual Machines, DOS BOX etc. for early '90's games an older, but virtually all disk based games that

    use SafeDisk would all run on Win10 if MS allowed Win10 users to switch the 'feature' off, as can be done on W7,8,8.1.

    Basically. If a game ran on Win7 it will run the same on Win10. Some do require a bit of coaxing though.

    .

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  5. Anonymous
    2017-12-30T17:15:02+00:00

    Microsoft don't give a rat's ass about their users, they just care about making as much money as they can...

    Was this answer helpful?

    3 people found this answer helpful.
    0 comments No comments