From 94f51d518dd3ac7c31845e3d1a69dd5434b6a85f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 7 Mar 2023 11:19:18 -0500 Subject: [PATCH] Move SafeDisc-specific checks --- BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs | 6 ++++++ BurnOutSharp/ProtectionType/Macrovision.cs | 13 +------------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs b/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs index 81e8b584..4f257241 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs @@ -42,11 +42,17 @@ namespace BurnOutSharp.ProtectionType // Present in "secdrv.sys" files found in SafeDisc 2.80.010+. if (name?.Equals("Macrovision SECURITY Driver", StringComparison.OrdinalIgnoreCase) == true) return $"SafeDisc Security Driver {GetSecDrvExecutableVersion(pex)}"; + // Present in "Diag.exe" files from SafeDisc 4.50.000+. + else if (name?.Equals("SafeDisc SRV Tool APP", StringComparison.OrdinalIgnoreCase) == true) + return $"SafeDisc SRV Tool APP {GetSafeDiscDiagExecutableVersion(pex)}"; // Present on all "CLOKSPL.DLL" versions before SafeDisc 1.06.000. Found on Redump entries 61731 and 66004. name = pex.ProductName; if (name?.Equals("SafeDisc CDROM Protection System", StringComparison.OrdinalIgnoreCase) == true) return "SafeDisc 1.00.025-1.01.044"; + // Present in "Diag.exe" files from SafeDisc 4.50.000+. + else if (name?.Equals("SafeDisc SRV Tool APP", StringComparison.OrdinalIgnoreCase) == true) + return $"SafeDisc SRV Tool APP {GetSafeDiscDiagExecutableVersion(pex)}"; // Get the stxt371 and stxt774 sections, if they exist -- TODO: Confirm if both are needed or either/or is fine bool stxt371Section = pex.ContainsSection("stxt371", exact: true); diff --git a/BurnOutSharp/ProtectionType/Macrovision.cs b/BurnOutSharp/ProtectionType/Macrovision.cs index a7b00acd..50324c9d 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.cs @@ -49,18 +49,7 @@ namespace BurnOutSharp.ProtectionType return null; // Check for generic indications of Macrovision protections first. - - string name = pex.FileDescription; - - // Present in "Diag.exe" files from SafeDisc 4.50.000+. - if (name?.Equals("SafeDisc SRV Tool APP", StringComparison.OrdinalIgnoreCase) == true) - return $"SafeDisc SRV Tool APP {GetSafeDiscDiagExecutableVersion(pex)}"; - - name = pex.ProductName; - - // Present in "Diag.exe" files from SafeDisc 4.50.000+. - if (name?.Equals("SafeDisc SRV Tool APP", StringComparison.OrdinalIgnoreCase) == true) - return $"SafeDisc SRV Tool APP {GetSafeDiscDiagExecutableVersion(pex)}"; + // TODO: Fill out generic indicators // Check for specific indications for individual Macrovision protections.