diff --git a/BurnOutSharp/ProtectionType/CDCheck.cs b/BurnOutSharp/ProtectionType/CDCheck.cs index a01e5932..d46196e5 100644 --- a/BurnOutSharp/ProtectionType/CDCheck.cs +++ b/BurnOutSharp/ProtectionType/CDCheck.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; -using BurnOutSharp.Interfaces; -using BurnOutSharp.Matching; +using BurnOutSharp.Interfaces; using BurnOutSharp.Wrappers; namespace BurnOutSharp.ProtectionType @@ -15,52 +13,21 @@ namespace BurnOutSharp.ProtectionType if (sections == null) return null; - // Get the .rdata section, if it exists - if (pex.ContainsSection(".rdata")) - { - var matchers = new List - { - // MGS CDCheck - new ContentMatchSet(new byte?[] - { - 0x4D, 0x47, 0x53, 0x20, 0x43, 0x44, 0x43, 0x68, - 0x65, 0x63, 0x6B - }, "Microsoft Game Studios CD Check"), - }; + string name = pex.Comments; + if (name?.Contains("CDCheck utlity for Microsoft Game Studios") == true) + return "Microsoft Game Studios CD Check"; - string match = MatchUtil.GetFirstMatch(file, pex.GetFirstSectionData(".rdata"), matchers, includeDebug); - if (!string.IsNullOrWhiteSpace(match)) - return match; - } + // To broad to be of use + //name = pex.InternalName; + //if (name?.Contains("CDCheck") == true) + // return "Microsoft Game Studios CD Check"; + + // To broad to be of use + //name = pex.OriginalFilename; + //if (name?.Contains("CDCheck.exe") == true) + // return "Microsoft Game Studios CD Check"; return null; } - - // These content checks are too broad to be useful - private static string CheckContentsBroad(string file, byte[] fileContent, bool includeDebug = false) - { - var matchers = new List - { - // CDCheck - new ContentMatchSet(new byte?[] { 0x43, 0x44, 0x43, 0x68, 0x65, 0x63, 0x6B }, "Executable-Based CD Check"), - - // GetDriveType - new ContentMatchSet(new byte?[] - { - 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, - 0x54, 0x79, 0x70, 0x65 - }, "Executable-Based CD Check"), - - // GetVolumeInformation - new ContentMatchSet(new byte?[] - { - 0x47, 0x65, 0x74, 0x56, 0x6F, 0x6C, 0x75, 0x6D, - 0x65, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, - 0x74, 0x69, 0x6F, 0x6E - }, "Executable-Based CD Check"), - }; - - return MatchUtil.GetFirstMatch(file, fileContent, matchers, includeDebug); - } } }