From db09bd931b1ad72dea1b0c0afc6b51c9d9d6650d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 8 Mar 2023 15:21:21 -0500 Subject: [PATCH] Macrovision-adjacent additions (TheRogueArchivist) --- .../ProtectionType/Macrovision.CactusDataShield.cs | 5 +++++ BurnOutSharp/ProtectionType/Macrovision.SafeCast.cs | 11 ++++++++++- BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs | 2 +- BurnOutSharp/ProtectionType/Macrovision.cs | 11 ++++++++++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/BurnOutSharp/ProtectionType/Macrovision.CactusDataShield.cs b/BurnOutSharp/ProtectionType/Macrovision.CactusDataShield.cs index 526f5781..5c1ad9d3 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.CactusDataShield.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.CactusDataShield.cs @@ -55,6 +55,11 @@ namespace BurnOutSharp.ProtectionType if (resources.Any()) return "PlayJ Music Player (Cactus Data Shield 200)"; + // Found in various files in "Les Paul & Friends" (Barcode 4 98806 834170). + string name = pex.ProductName; + if (name?.Equals("CDS300", StringComparison.OrdinalIgnoreCase) == true) + return $"Cactus Data Shield 300"; + return null; } diff --git a/BurnOutSharp/ProtectionType/Macrovision.SafeCast.cs b/BurnOutSharp/ProtectionType/Macrovision.SafeCast.cs index 36b6269a..0c1da59a 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.SafeCast.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.SafeCast.cs @@ -22,8 +22,10 @@ namespace BurnOutSharp.ProtectionType /// https://archive.org/details/danceejay4 /// https://archive.org/details/ejay_nestle_trial /// https://archive.org/details/eJayXtremeSoundtraxx + /// https://community.ptc.com/t5/Mathcad/SafeCast/td-p/25233 /// SafeCast resources: /// https://web.archive.org/web/20000129013431/http://www.macrovision.com/safecast_faq.html (SafeCast FAQ) + /// https://web.archive.org/web/20040223025801/http://www.macrovision.com/products/legacy_products/safecast/safecast_cdilla_faq.shtml /// https://web.archive.org/web/20031204024544mp_/http://www.macrovision.com/products/safecast/index.shtml /// https://web.archive.org/web/20010417222834/http://www.macrovision.com/press_rel3_17_99.html /// https://www.extremetech.com/computing/53394-turbotax-so-what-do-i-do-now/4 @@ -80,9 +82,16 @@ namespace BurnOutSharp.ProtectionType return "SafeCast"; } + // Found in "32bit\Tax02\cdac14ba.dll" in IA item "TurboTax Deluxe Tax Year 2002 for Wndows (2.00R)(Intuit)(2002)(352282)". string name = pex.FileDescription; if (name?.Equals("SafeCast2", StringComparison.OrdinalIgnoreCase) == true) - return $"SafeCast"; + return "SafeCast"; + + // Found in hidden resource of "32bit\Tax02\cdac14ba.dll" in IA item "TurboTax Deluxe Tax Year 2002 for Wndows (2.00R)(Intuit)(2002)(352282)". + // TODO: Fix Product Name not getting properly pulled for this executable. + name = pex.ProductName; + if (name?.Equals("SafeCast Windows NT", StringComparison.OrdinalIgnoreCase) == true) + return "SafeCast"; // Check for CDSHARE/DISAG_SH sections diff --git a/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs b/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs index 7d4e742f..8a5aea51 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.SafeDisc.cs @@ -295,7 +295,7 @@ namespace BurnOutSharp.ProtectionType if (string.IsNullOrEmpty(firstMatchedString) || !File.Exists(firstMatchedString)) return string.Empty; - // The hash of the file CLCD32.dll so far appears to be a solid indicator of version for versions it was used with. It appears to have been updated with every release, unlike it's counterpart, CLCD16.dll. + // The hash of the file CLCD32.dll so far appears to be a solid indicator of version for versions it was used with. It appears to have been updated with every release, unlike its counterpart, CLCD16.dll. string sha1 = GetFileSHA1(firstMatchedString); switch (sha1) { diff --git a/BurnOutSharp/ProtectionType/Macrovision.cs b/BurnOutSharp/ProtectionType/Macrovision.cs index 026539bf..4613cb45 100644 --- a/BurnOutSharp/ProtectionType/Macrovision.cs +++ b/BurnOutSharp/ProtectionType/Macrovision.cs @@ -6,6 +6,8 @@ using BurnOutSharp.Interfaces; using BinaryObjectScanner.Matching; using BinaryObjectScanner.Utilities; using BinaryObjectScanner.Wrappers; +using System.Xml.Linq; +using System; namespace BurnOutSharp.ProtectionType { @@ -48,7 +50,14 @@ namespace BurnOutSharp.ProtectionType return null; // Check for generic indications of Macrovision protections first. - // TODO: Fill out generic indicators + string name = pex.FileDescription; + + // Found in hidden resource of "32bit\Tax02\cdac14ba.dll" in IA item "TurboTax Deluxe Tax Year 2002 for Wndows (2.00R)(Intuit)(2002)(352282)". + // TODO: Fix File Description not getting properly pulled for this executable. + // Known versions: + // 4.16.050 Windows NT 2002/04/24 + if (name?.Equals("Macrovision RTS Service", StringComparison.OrdinalIgnoreCase) == true) + return $"Macrovision RTS Service {pex.FileVersion}"; // Check for specific indications for individual Macrovision protections.