From a1c22ca9da5ba78d297f87a41a9ee01566683dfb Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 20 Dec 2022 11:52:50 -0800 Subject: [PATCH] Make a couple things consistent --- BurnOutSharp/PackerType/InnoSetup.cs | 2 +- BurnOutSharp/ProtectionType/ByteShield.cs | 16 ++++++++-------- README.md | 23 ----------------------- 3 files changed, 9 insertions(+), 32 deletions(-) diff --git a/BurnOutSharp/PackerType/InnoSetup.cs b/BurnOutSharp/PackerType/InnoSetup.cs index b1902b4b..39797b11 100644 --- a/BurnOutSharp/PackerType/InnoSetup.cs +++ b/BurnOutSharp/PackerType/InnoSetup.cs @@ -40,7 +40,7 @@ namespace BurnOutSharp.PackerType if (sections == null) return null; - // Get the .data section strings, if they exist + // Get the .data/DATA section strings, if they exist List strs = pex.GetFirstSectionStrings(".data") ?? pex.GetFirstSectionStrings("DATA"); if (strs != null) { diff --git a/BurnOutSharp/ProtectionType/ByteShield.cs b/BurnOutSharp/ProtectionType/ByteShield.cs index 49abf64b..d1b28d55 100644 --- a/BurnOutSharp/ProtectionType/ByteShield.cs +++ b/BurnOutSharp/ProtectionType/ByteShield.cs @@ -90,17 +90,17 @@ namespace BurnOutSharp.ProtectionType if (dbMatch.Any()) return "ByteShield"; - // Get strings from .data, if possible - var strings = pex.GetFirstSectionStrings(".data"); - if (strings != null && strings.Any()) + // Get the .data/DATA section strings, if they exist + List strs = pex.GetFirstSectionStrings(".data") ?? pex.GetFirstSectionStrings("DATA"); + if (strs != null && strs.Any()) { // Found in "LineRider2.exe" in Redump entry 6236 - if (strings.Any(s => s?.Contains("ByteShield") == true)) + if (strs.Any(s => s?.Contains("ByteShield") == true)) return "ByteShield"; } - // Get strings from .rdata, if possible - strings = pex.GetFirstSectionStrings(".rdata"); + // Get the .rdata section strings, if they exist + strs = pex.GetFirstSectionStrings(".rdata"); if (strings != null && strings.Any()) { // Found in "ByteShield.dll" in Redump entry 6236 @@ -116,8 +116,8 @@ namespace BurnOutSharp.ProtectionType return "ByteShield Component Module"; } - // Get strings from .ret, if possible - strings = pex.GetFirstSectionStrings(".ret"); + // Get the .ret section strings, if they exist + strs = pex.GetFirstSectionStrings(".ret"); if (strings != null && strings.Any()) { // TODO: Figure out if this specifically indicates if the file is encrypted diff --git a/README.md b/README.md index 371c3b4d..8762a748 100644 --- a/README.md +++ b/README.md @@ -109,23 +109,6 @@ Below is a list of protections detected by BurnOutSharp. The two columns explain ² - This is the same as ¹, but only for a subset of the checks. -## Unimplemented Protections - -Below is a list of protections that have been identified but have not yet been implemented. Assistance on these would be greatly appreciated. See the source code for more details, where available. - -- Alcatraz -- Alpha-Audio -- CrypKey -- DBB -- DiscAudit -- Doc.loc -- FADE -- MusicGuard -- Roxxe -- SAFEAUDIO -- The Bongle -- The Copy Protected CD - ## Executable Packers Detected Below is a list of executable packers detected by BurnOutSharp. The three columns explain what sort of checks are performed to determine how the protection is detected as well as if the contents can be extracted. @@ -156,12 +139,6 @@ Below is a list of executable packers detected by BurnOutSharp. The three column | WinZip SFX | Yes | No | Yes | | WISE Installer | Yes | No | Yes | -## Unimplemented Packers - -Below is a list of packers that have been identified but have not yet been implemented. Assistance on these would be greatly appreciated. See the source code for more details, where available. - -- N/A - ## Archive Formats Below is a list of archive or archive-like formats that can be extracted and have contents scanned using this code: