mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-09-21 22:34:58 +00:00
Add additional SafeDisc for Mac detections and notes (#271)
* Add additional SafeDisc for Mac detections and notes * Slightly update notes * Minor additions * Update earliest known SafeDisc splash-screen version
This commit is contained in:
committed by
GitHub
parent
83ba19eccb
commit
5019407f35
@@ -98,6 +98,28 @@ namespace BinaryObjectScanner.FileType
|
||||
if (fileContent.Contains("Sentinel Driver Disk"))
|
||||
protections.Add("Rainbow Sentinel");
|
||||
|
||||
// SafeDisc
|
||||
// TODO: Add better version parsing.
|
||||
// Found in "Info.plist" in Redump entries 23983, 42762, 72713, 73070, and 89603.
|
||||
if (fileContent.Contains("<string>com.europevisionmacro.SafeDiscDVD</string>"))
|
||||
{
|
||||
if (fileContent.Contains("<string>2.90.032</string>"))
|
||||
protections.Add("SafeDiscDVD for Macintosh 2.90.032");
|
||||
else
|
||||
protections.Add("SafeDiscDVD for Macintosh (Unknown Version - Please report to us on GitHub)");
|
||||
}
|
||||
|
||||
// Found in "Info.plist" in Redump entry 89649.
|
||||
if (fileContent.Contains("<string>com.macrovisioneurope.SafeDiscLT</string>"))
|
||||
{
|
||||
// TODO: Investigate why "CFBundleGetInfoString" and "CFBundleShortVersionString" say version 2.70.020, but "CFBundleVersion" says version 2.70.010.
|
||||
if (fileContent.Contains("<string>2.70.020</string"))
|
||||
protections.Add("SafeDiscLT for Macintosh 2.70.020");
|
||||
else
|
||||
protections.Add("SafeDiscLT for Macintosh (Unknown Version - Please report to us on GitHub)");
|
||||
}
|
||||
|
||||
|
||||
// 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.
|
||||
|
||||
@@ -235,8 +235,20 @@ namespace BinaryObjectScanner.Protection
|
||||
new(new FilePathMatch("00000001.LT1"), "SafeDisc Lite"),
|
||||
new(new FilePathMatch("LTDLL.DLL"), "SafeDisc Lite"),
|
||||
|
||||
// Found on Redump entry 42762.
|
||||
new(".SafeDiscDVD.bundle", "SafeDisc for Macintosh"),
|
||||
// Found in Redump entries 23983, 42762, 72713, 73070, and 89603.
|
||||
new(new FilePathMatch(".SafeDiscDVD.bundle"), "SafeDiscDVD for Macintosh"),
|
||||
new(new FilePathMatch("SafeDiscDVD"), "SafeDiscDVD for Macintosh"),
|
||||
|
||||
// Found in Redump entries 42762 and 73070.
|
||||
// These files, along with "00000001.TMP" as found in the same version of SafeDiscDVD, appear to be likely encrypted game executables and are multiple GB in size.
|
||||
new(new FilePathMatch("00000001I.TMP"), "SafeDiscDVD for Macintosh"),
|
||||
new(new FilePathMatch("00000001P.TMP"), "SafeDiscDVD for Macintosh"),
|
||||
|
||||
// Found in Redump entry 89649.
|
||||
new(new FilePathMatch("SafeDiscLT.bundle"), "SafeDiscLT for Macintosh"),
|
||||
new(new FilePathMatch("SafeDiscLT"), "SafeDiscLT for Macintosh"),
|
||||
|
||||
// TODO: Add SafeDisc detection for Redump entry 63769 once Mac executables are supported for scanning. It appears to contain the same "BoG_" string and version detection logic.
|
||||
};
|
||||
|
||||
return MatchUtil.GetAllMatches(files, matchers, any: false);
|
||||
@@ -325,8 +337,20 @@ namespace BinaryObjectScanner.Protection
|
||||
new(new FilePathMatch("00000001.LT1"), "SafeDisc Lite"),
|
||||
new(new FilePathMatch("LTDLL.DLL"), "SafeDisc Lite"),
|
||||
|
||||
// Found in Redump entry 42762.
|
||||
new(".SafeDiscDVD.bundle", "SafeDisc for Macintosh"),
|
||||
// Found in Redump entries 23983, 42762, 72713, 73070, and 89603.
|
||||
new(new FilePathMatch(".SafeDiscDVD.bundle"), "SafeDiscDVD for Macintosh"),
|
||||
new(new FilePathMatch("SafeDiscDVD"), "SafeDiscDVD for Macintosh"),
|
||||
|
||||
// Found in Redump entries 42762 and 73070.
|
||||
// These files, along with "00000001.TMP" as found in the same version of SafeDiscDVD, appear to be likely encrypted game executables and are multiple GB in size.
|
||||
new(new FilePathMatch("00000001I.TMP"), "SafeDiscDVD for Macintosh"),
|
||||
new(new FilePathMatch("00000001P.TMP"), "SafeDiscDVD for Macintosh"),
|
||||
|
||||
// Found in Redump entry 89649.
|
||||
new(new FilePathMatch("SafeDiscLT.bundle"), "SafeDiscLT for Macintosh"),
|
||||
new(new FilePathMatch("SafeDiscLT"), "SafeDiscLT for Macintosh"),
|
||||
|
||||
// TODO: Add SafeDisc detection for Redump entry 63769 once Mac executables are supported for scanning. It appears to contain the same "BoG_" string and version detection logic.
|
||||
};
|
||||
|
||||
return MatchUtil.GetFirstMatch(path, matchers, any: true);
|
||||
@@ -744,12 +768,12 @@ namespace BinaryObjectScanner.Protection
|
||||
switch (sha1)
|
||||
{
|
||||
// First known generic SafeDisc splash-screen.
|
||||
// 4-bit (16 color) version, found in Redump entries 43321, 45040, 45202, 68206, 75501, and 79272.
|
||||
// 4-bit (16 color) version, found in Redump entries 43321, 45040, 45202, 66586, 68206, 75501, and 79272.
|
||||
case "D8A8CF761DD7C04F635385E4C4589E5F26C6171E":
|
||||
return "1.30.010-2.40.010";
|
||||
// 8-bit (256 color) version, found in Redump entries 43321, 45040, 45202, 68206, 75501, and 79272.
|
||||
return "1.11.000-2.40.010";
|
||||
// 8-bit (256 color) version, found in Redump entries 43321, 45040, 45202, 66586, 68206, 75501, and 79272.
|
||||
case "0C9E45BF3EBE1382A3593994328C22BCB9A55456":
|
||||
return "1.30.010-2.40.010";
|
||||
return "1.11.000-2.40.010";
|
||||
|
||||
// Second known generic SafeDisc splash-screen.
|
||||
// 4-bit (16 color), found in Redump entries 46339 and 75897.
|
||||
|
||||
@@ -319,6 +319,11 @@ namespace BinaryObjectScanner.Utilities
|
||||
if (magic.StartsWith(new byte?[] { 0x3F, 0x5F, 0x03, 0x00 }))
|
||||
return SupportedFileType.Textfile;
|
||||
|
||||
// XML
|
||||
// "<?xml"
|
||||
if (magic.StartsWith(new byte?[] { 0x3C, 0x3F, 0x78, 0x6D, 0x6C }))
|
||||
return SupportedFileType.Textfile;
|
||||
|
||||
#endregion
|
||||
|
||||
#region VBSP
|
||||
@@ -736,6 +741,10 @@ namespace BinaryObjectScanner.Utilities
|
||||
if (extension.Equals("xml", StringComparison.OrdinalIgnoreCase))
|
||||
return SupportedFileType.Textfile;
|
||||
|
||||
// Property list
|
||||
if (extension.Equals("plist", StringComparison.OrdinalIgnoreCase))
|
||||
return SupportedFileType.Textfile;
|
||||
|
||||
#endregion
|
||||
|
||||
#region VBSP
|
||||
|
||||
Reference in New Issue
Block a user