diff --git a/BurnOutSharp/FileType/Textfile.cs b/BurnOutSharp/FileType/Textfile.cs index 15521cc0..e0bd1f47 100644 --- a/BurnOutSharp/FileType/Textfile.cs +++ b/BurnOutSharp/FileType/Textfile.cs @@ -82,6 +82,16 @@ namespace BurnOutSharp.FileType if (fileContent.Contains("MediaMax technology")) Utilities.AppendToDictionary(protections, file, "MediaMax CD-3"); + // The full line from a sample is as follows: + // + // The files securom_v7_01.dat and securom_v7_01.bak have been created during the installation of a SecuROM protected application. + // + // TODO: Use the filenames in this line to get the version out of it + + // SecuROM + if (fileContent.Contains("SecuROM protected application")) + Utilities.AppendToDictionary(protections, file, "SecuROM"); + // XCP if (fileContent.Contains("http://cp.sonybmg.com/xcp/")) Utilities.AppendToDictionary(protections, file, "XCP"); diff --git a/BurnOutSharp/ProtectionType/SecuROM.cs b/BurnOutSharp/ProtectionType/SecuROM.cs index bbb506fd..fe4c8f4f 100644 --- a/BurnOutSharp/ProtectionType/SecuROM.cs +++ b/BurnOutSharp/ProtectionType/SecuROM.cs @@ -121,6 +121,14 @@ namespace BurnOutSharp.ProtectionType new PathMatchSet(new PathMatch("SINTF32.DLL", useEndsWith: true), "SecuROM New"), new PathMatchSet(new PathMatch("SINTF16.DLL", useEndsWith: true), "SecuROM New"), new PathMatchSet(new PathMatch("SINTFNT.DLL", useEndsWith: true), "SecuROM New"), + + // TODO: Find more samples of this for different versions + new PathMatchSet(new List + { + new PathMatch("securom_v7_01.bak", useEndsWith: true), + new PathMatch("securom_v7_01.dat", useEndsWith: true), + new PathMatch("securom_v7_01.tmp", useEndsWith: true), + }, "SecuROM 7.01"), }; return MatchUtil.GetAllMatches(files, matchers, any: true); @@ -140,6 +148,10 @@ namespace BurnOutSharp.ProtectionType new PathMatchSet(new PathMatch("SINTF32.DLL", useEndsWith: true), "SecuROM New"), new PathMatchSet(new PathMatch("SINTF16.DLL", useEndsWith: true), "SecuROM New"), new PathMatchSet(new PathMatch("SINTFNT.DLL", useEndsWith: true), "SecuROM New"), + + new PathMatchSet(new PathMatch("securom_v7_01.bak", useEndsWith: true), "SecuROM 7.01"), + new PathMatchSet(new PathMatch("securom_v7_01.dat", useEndsWith: true), "SecuROM 7.01"), + new PathMatchSet(new PathMatch("securom_v7_01.tmp", useEndsWith: true), "SecuROM 7.01"), }; return MatchUtil.GetFirstMatch(path, matchers, any: true);