From 550fb709528eb9a912d345f1e838918c0022ee83 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 4 Nov 2024 22:02:10 -0500 Subject: [PATCH] Use typed interface for extractable executables --- ...xecutable.cs => IExtractableExecutable.cs} | 10 +++++----- .../Interfaces/IExtractableMSDOSExecutable.cs | 20 ------------------- .../Interfaces/IExtractableNewExecutable.cs | 20 ------------------- .../IExtractablePortableExecutable.cs | 20 ------------------- BinaryObjectScanner/Packer/ASPack.cs | 2 +- .../Packer/AdvancedInstaller.cs | 2 +- .../Packer/AutoPlayMediaStudio.cs | 2 +- BinaryObjectScanner/Packer/CExe.cs | 2 +- BinaryObjectScanner/Packer/DotFuscator.cs | 2 +- BinaryObjectScanner/Packer/DotNetReactor.cs | 2 +- BinaryObjectScanner/Packer/EXEStealth.cs | 2 +- .../Packer/EmbeddedExecutable.cs | 2 +- BinaryObjectScanner/Packer/GenteeInstaller.cs | 2 +- .../Packer/HyperTechCrackProof.cs | 2 +- BinaryObjectScanner/Packer/InnoSetup.cs | 2 +- BinaryObjectScanner/Packer/InstallAnywhere.cs | 2 +- BinaryObjectScanner/Packer/InstallerVISE.cs | 2 +- .../Packer/IntelInstallationFramework.cs | 2 +- BinaryObjectScanner/Packer/MicrosoftCABSFX.cs | 2 +- BinaryObjectScanner/Packer/NSIS.cs | 2 +- BinaryObjectScanner/Packer/NeoLite.cs | 2 +- BinaryObjectScanner/Packer/PECompact.cs | 2 +- BinaryObjectScanner/Packer/Petite.cs | 2 +- BinaryObjectScanner/Packer/SetupFactory.cs | 2 +- BinaryObjectScanner/Packer/SevenZipSFX.cs | 2 +- BinaryObjectScanner/Packer/Shrinker.cs | 2 +- BinaryObjectScanner/Packer/UPX.cs | 2 +- BinaryObjectScanner/Packer/WinRARSFX.cs | 2 +- BinaryObjectScanner/Packer/WinZipSFX.cs | 2 +- BinaryObjectScanner/Packer/WiseInstaller.cs | 2 +- BinaryObjectScanner/Protection/Armadillo.cs | 2 +- BinaryObjectScanner/Scanner.cs | 16 +++++++-------- 32 files changed, 40 insertions(+), 100 deletions(-) rename BinaryObjectScanner/Interfaces/{IExtractableLinearExecutable.cs => IExtractableExecutable.cs} (59%) delete mode 100644 BinaryObjectScanner/Interfaces/IExtractableMSDOSExecutable.cs delete mode 100644 BinaryObjectScanner/Interfaces/IExtractableNewExecutable.cs delete mode 100644 BinaryObjectScanner/Interfaces/IExtractablePortableExecutable.cs diff --git a/BinaryObjectScanner/Interfaces/IExtractableLinearExecutable.cs b/BinaryObjectScanner/Interfaces/IExtractableExecutable.cs similarity index 59% rename from BinaryObjectScanner/Interfaces/IExtractableLinearExecutable.cs rename to BinaryObjectScanner/Interfaces/IExtractableExecutable.cs index 8183da7f..70e097f4 100644 --- a/BinaryObjectScanner/Interfaces/IExtractableLinearExecutable.cs +++ b/BinaryObjectScanner/Interfaces/IExtractableExecutable.cs @@ -1,20 +1,20 @@ -using SabreTools.Serialization.Wrappers; +using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Interfaces { /// /// Mark a LinearExecutable type as being able to be extracted /// - public interface IExtractableLinearExecutable + public interface IExtractableExecutable where T : WrapperBase { /// - /// Extract a LinearExecutable to a temporary path, if possible + /// Extract an Executable to a path, if possible /// /// Path to the input file - /// LinearExecutable representing the read-in file + /// Executable representing the read-in file /// Path to the output directory /// True to include debug data, false otherwise /// Path to extracted files, null on error - bool Extract(string file, LinearExecutable lex, string outDir, bool includeDebug); + bool Extract(string file, T exe, string outDir, bool includeDebug); } } diff --git a/BinaryObjectScanner/Interfaces/IExtractableMSDOSExecutable.cs b/BinaryObjectScanner/Interfaces/IExtractableMSDOSExecutable.cs deleted file mode 100644 index 0c92c0f1..00000000 --- a/BinaryObjectScanner/Interfaces/IExtractableMSDOSExecutable.cs +++ /dev/null @@ -1,20 +0,0 @@ -using SabreTools.Serialization.Wrappers; - -namespace BinaryObjectScanner.Interfaces -{ - /// - /// Mark a MSDOS type as being able to be extracted - /// - public interface IExtractableMSDOSExecutable - { - /// - /// Extract a MSDOS to a temporary path, if possible - /// - /// Path to the input file - /// MSDOS representing the read-in file - /// Path to the output directory - /// True to include debug data, false otherwise - /// Path to extracted files, null on error - bool Extract(string file, MSDOS mz, string outDir, bool includeDebug); - } -} diff --git a/BinaryObjectScanner/Interfaces/IExtractableNewExecutable.cs b/BinaryObjectScanner/Interfaces/IExtractableNewExecutable.cs deleted file mode 100644 index 4cf79968..00000000 --- a/BinaryObjectScanner/Interfaces/IExtractableNewExecutable.cs +++ /dev/null @@ -1,20 +0,0 @@ -using SabreTools.Serialization.Wrappers; - -namespace BinaryObjectScanner.Interfaces -{ - /// - /// Mark a NewExecutable type as being able to be extracted - /// - public interface IExtractableNewExecutable - { - /// - /// Extract a NewExecutable to a temporary path, if possible - /// - /// Path to the input file - /// NewExecutable representing the read-in file - /// Path to the output directory - /// True to include debug data, false otherwise - /// Path to extracted files, null on error - bool Extract(string file, NewExecutable nex, string outDir, bool includeDebug); - } -} diff --git a/BinaryObjectScanner/Interfaces/IExtractablePortableExecutable.cs b/BinaryObjectScanner/Interfaces/IExtractablePortableExecutable.cs deleted file mode 100644 index 20e9cf18..00000000 --- a/BinaryObjectScanner/Interfaces/IExtractablePortableExecutable.cs +++ /dev/null @@ -1,20 +0,0 @@ -using SabreTools.Serialization.Wrappers; - -namespace BinaryObjectScanner.Interfaces -{ - /// - /// Mark a PortableExecutable type as being able to be extracted - /// - public interface IExtractablePortableExecutable - { - /// - /// Extract a PortableExecutable to a temporary path, if possible - /// - /// Path to the input file - /// PortableExecutable representing the read-in file - /// Path to the output directory - /// True to include debug data, false otherwise - /// Path to extracted files, null on error - bool Extract(string file, PortableExecutable pex, string outDir, bool includeDebug); - } -} diff --git a/BinaryObjectScanner/Packer/ASPack.cs b/BinaryObjectScanner/Packer/ASPack.cs index 6c6e64b9..59932de3 100644 --- a/BinaryObjectScanner/Packer/ASPack.cs +++ b/BinaryObjectScanner/Packer/ASPack.cs @@ -8,7 +8,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { // TODO: Add extraction - public class ASPack : IExtractablePortableExecutable, IPortableExecutableCheck + public class ASPack : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/AdvancedInstaller.cs b/BinaryObjectScanner/Packer/AdvancedInstaller.cs index 8c8906ae..b13a4d3f 100644 --- a/BinaryObjectScanner/Packer/AdvancedInstaller.cs +++ b/BinaryObjectScanner/Packer/AdvancedInstaller.cs @@ -6,7 +6,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction // TODO: Verify that all versions are detected - public class AdvancedInstaller : IExtractablePortableExecutable, IPortableExecutableCheck + public class AdvancedInstaller : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/AutoPlayMediaStudio.cs b/BinaryObjectScanner/Packer/AutoPlayMediaStudio.cs index 7410d2ec..268d7576 100644 --- a/BinaryObjectScanner/Packer/AutoPlayMediaStudio.cs +++ b/BinaryObjectScanner/Packer/AutoPlayMediaStudio.cs @@ -7,7 +7,7 @@ namespace BinaryObjectScanner.Packer // Created by IndigoRose (creators of Setup Factory), primarily to be used to create autorun menus for various media. // Official website: https://www.autoplay.org/ // TODO: Add extraction - public class AutoPlayMediaStudio : IExtractablePortableExecutable, IPortableExecutableCheck + public class AutoPlayMediaStudio : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/CExe.cs b/BinaryObjectScanner/Packer/CExe.cs index da73f7de..a4f0ae32 100644 --- a/BinaryObjectScanner/Packer/CExe.cs +++ b/BinaryObjectScanner/Packer/CExe.cs @@ -13,7 +13,7 @@ namespace BinaryObjectScanner.Packer // The official website for CExe also includes the source code (which does have to be retrieved by the Wayback Machine) // http://www.scottlu.com/Content/CExe.html // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class CExe : IExtractablePortableExecutable, IPortableExecutableCheck + public class CExe : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/DotFuscator.cs b/BinaryObjectScanner/Packer/DotFuscator.cs index f09fbbaa..02f59ba1 100644 --- a/BinaryObjectScanner/Packer/DotFuscator.cs +++ b/BinaryObjectScanner/Packer/DotFuscator.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { // TODO: Add extraction - public class DotFuscator : IExtractablePortableExecutable, IPortableExecutableCheck + public class DotFuscator : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/DotNetReactor.cs b/BinaryObjectScanner/Packer/DotNetReactor.cs index 2be992ab..2f9268f5 100644 --- a/BinaryObjectScanner/Packer/DotNetReactor.cs +++ b/BinaryObjectScanner/Packer/DotNetReactor.cs @@ -15,7 +15,7 @@ namespace BinaryObjectScanner.Packer /// /// Resource that could be useful for extraction: https://github.com/SychicBoy/NETReactorSlayer /// - public class DotNetReactor : IExtractablePortableExecutable, IPortableExecutableCheck + public class DotNetReactor : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/EXEStealth.cs b/BinaryObjectScanner/Packer/EXEStealth.cs index 7e7b1c46..08a74019 100644 --- a/BinaryObjectScanner/Packer/EXEStealth.cs +++ b/BinaryObjectScanner/Packer/EXEStealth.cs @@ -10,7 +10,7 @@ namespace BinaryObjectScanner.Packer // TODO: Detect 3.15 and up (maybe looking for `Metamorphism`) // TODO: Add extraction // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class EXEStealth : IContentCheck, IExtractablePortableExecutable, IPortableExecutableCheck + public class EXEStealth : IContentCheck, IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckContents(string file, byte[] fileContent, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/EmbeddedExecutable.cs b/BinaryObjectScanner/Packer/EmbeddedExecutable.cs index aa168652..b4dad6af 100644 --- a/BinaryObjectScanner/Packer/EmbeddedExecutable.cs +++ b/BinaryObjectScanner/Packer/EmbeddedExecutable.cs @@ -11,7 +11,7 @@ namespace BinaryObjectScanner.Packer /// Though not technically a packer, this detection is for any executables that include /// others in their resources in some uncompressed manner to be used at runtime. /// - public class EmbeddedExecutable : IExtractablePortableExecutable, IPortableExecutableCheck + public class EmbeddedExecutable : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/GenteeInstaller.cs b/BinaryObjectScanner/Packer/GenteeInstaller.cs index 9648c898..6807b7b1 100644 --- a/BinaryObjectScanner/Packer/GenteeInstaller.cs +++ b/BinaryObjectScanner/Packer/GenteeInstaller.cs @@ -6,7 +6,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class GenteeInstaller : IExtractablePortableExecutable, IPortableExecutableCheck + public class GenteeInstaller : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/HyperTechCrackProof.cs b/BinaryObjectScanner/Packer/HyperTechCrackProof.cs index daec175a..37368d44 100644 --- a/BinaryObjectScanner/Packer/HyperTechCrackProof.cs +++ b/BinaryObjectScanner/Packer/HyperTechCrackProof.cs @@ -9,7 +9,7 @@ namespace BinaryObjectScanner.Packer // https://www.reddit.com/r/riseofincarnates/comments/m3vbnm/subreddit_revival_does_anyone_still_have_rise_of/ // https://steamcommunity.com/app/310950/discussions/0/4224890554455490819/ // https://github.com/horsicq/Detect-It-Easy/blob/63a1aa8bb23ca02d8a7fd5936db8dbc5c5d52dea/db/PE/HyperTech%20Crackproof.2.sg - public class HyperTechCrackProof : IExtractablePortableExecutable, IPortableExecutableCheck + public class HyperTechCrackProof : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/InnoSetup.cs b/BinaryObjectScanner/Packer/InnoSetup.cs index ed35ca26..a4262d51 100644 --- a/BinaryObjectScanner/Packer/InnoSetup.cs +++ b/BinaryObjectScanner/Packer/InnoSetup.cs @@ -9,7 +9,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction - https://github.com/dscharrer/InnoExtract // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class InnoSetup : IExtractablePortableExecutable, INewExecutableCheck, IPortableExecutableCheck + public class InnoSetup : IExtractableExecutable, INewExecutableCheck, IPortableExecutableCheck { /// public string? CheckNewExecutable(string file, NewExecutable nex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/InstallAnywhere.cs b/BinaryObjectScanner/Packer/InstallAnywhere.cs index 9ba9fa38..a4c65165 100644 --- a/BinaryObjectScanner/Packer/InstallAnywhere.cs +++ b/BinaryObjectScanner/Packer/InstallAnywhere.cs @@ -6,7 +6,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction, which may be possible with the current libraries but needs to be investigated further. // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class InstallAnywhere : IExtractablePortableExecutable, IPortableExecutableCheck + public class InstallAnywhere : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/InstallerVISE.cs b/BinaryObjectScanner/Packer/InstallerVISE.cs index f7902f4e..374b7ed7 100644 --- a/BinaryObjectScanner/Packer/InstallerVISE.cs +++ b/BinaryObjectScanner/Packer/InstallerVISE.cs @@ -6,7 +6,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction - https://github.com/Bioruebe/UniExtract2 // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class InstallerVISE : IExtractablePortableExecutable, IPortableExecutableCheck + public class InstallerVISE : IExtractableExecutable, IPortableExecutableCheck { //TODO: Add exact version detection for Windows builds, make sure versions before 3.X are detected as well, and detect the Mac builds. /// diff --git a/BinaryObjectScanner/Packer/IntelInstallationFramework.cs b/BinaryObjectScanner/Packer/IntelInstallationFramework.cs index b53a2374..180ce043 100644 --- a/BinaryObjectScanner/Packer/IntelInstallationFramework.cs +++ b/BinaryObjectScanner/Packer/IntelInstallationFramework.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { // TODO: Add extraction, seems to primarily use MSZip compression. - public class IntelInstallationFramework : IExtractablePortableExecutable, IPortableExecutableCheck + public class IntelInstallationFramework : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/MicrosoftCABSFX.cs b/BinaryObjectScanner/Packer/MicrosoftCABSFX.cs index c9e4b7ef..8adb54f4 100644 --- a/BinaryObjectScanner/Packer/MicrosoftCABSFX.cs +++ b/BinaryObjectScanner/Packer/MicrosoftCABSFX.cs @@ -7,7 +7,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction, which should be possible with LibMSPackN, but it refuses to extract due to SFX files lacking the typical CAB identifiers. // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class MicrosoftCABSFX : IExtractablePortableExecutable, IPortableExecutableCheck + public class MicrosoftCABSFX : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/NSIS.cs b/BinaryObjectScanner/Packer/NSIS.cs index 12e5e946..1bdd4d64 100644 --- a/BinaryObjectScanner/Packer/NSIS.cs +++ b/BinaryObjectScanner/Packer/NSIS.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { // TODO: Add extraction - public class NSIS : IExtractablePortableExecutable, IPortableExecutableCheck + public class NSIS : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/NeoLite.cs b/BinaryObjectScanner/Packer/NeoLite.cs index b6983a6e..cffe4a53 100644 --- a/BinaryObjectScanner/Packer/NeoLite.cs +++ b/BinaryObjectScanner/Packer/NeoLite.cs @@ -13,7 +13,7 @@ namespace BinaryObjectScanner.Packer /// PEiD scanning definitions that include NeoLite: https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt /// Website listing various packers, including NeoLite: http://protools.narod.ru/packers.htm /// - public class NeoLite : IExtractablePortableExecutable, IPortableExecutableCheck + public class NeoLite : IExtractableExecutable, IPortableExecutableCheck { // TODO: Find samples of NeoLite 1.X. /// diff --git a/BinaryObjectScanner/Packer/PECompact.cs b/BinaryObjectScanner/Packer/PECompact.cs index 2f98a604..35e07dde 100644 --- a/BinaryObjectScanner/Packer/PECompact.cs +++ b/BinaryObjectScanner/Packer/PECompact.cs @@ -5,7 +5,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Better version detection - https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt // TODO: Add extraction - public class PECompact : IExtractablePortableExecutable, IPortableExecutableCheck + public class PECompact : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/Petite.cs b/BinaryObjectScanner/Packer/Petite.cs index 8d7a0071..6e3d4e98 100644 --- a/BinaryObjectScanner/Packer/Petite.cs +++ b/BinaryObjectScanner/Packer/Petite.cs @@ -5,7 +5,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class PEtite : IExtractablePortableExecutable, IPortableExecutableCheck + public class PEtite : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/SetupFactory.cs b/BinaryObjectScanner/Packer/SetupFactory.cs index 08769c73..c451a1ab 100644 --- a/BinaryObjectScanner/Packer/SetupFactory.cs +++ b/BinaryObjectScanner/Packer/SetupFactory.cs @@ -7,7 +7,7 @@ namespace BinaryObjectScanner.Packer // TODO: Add extraction, which is possible but the only tools available that can // do this seem to be Universal Extractor 2 and InstallExplorer (https://totalcmd.net/plugring/InstallExplorer.html) // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class SetupFactory : IExtractablePortableExecutable, IPortableExecutableCheck + public class SetupFactory : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/SevenZipSFX.cs b/BinaryObjectScanner/Packer/SevenZipSFX.cs index 563f3db1..6deb086c 100644 --- a/BinaryObjectScanner/Packer/SevenZipSFX.cs +++ b/BinaryObjectScanner/Packer/SevenZipSFX.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { - public class SevenZipSFX : IExtractablePortableExecutable, IPortableExecutableCheck + public class SevenZipSFX : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/Shrinker.cs b/BinaryObjectScanner/Packer/Shrinker.cs index b221c8f1..72f509d7 100644 --- a/BinaryObjectScanner/Packer/Shrinker.cs +++ b/BinaryObjectScanner/Packer/Shrinker.cs @@ -5,7 +5,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class Shrinker : IExtractablePortableExecutable, IPortableExecutableCheck + public class Shrinker : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/UPX.cs b/BinaryObjectScanner/Packer/UPX.cs index f1a8dae6..aeaff84f 100644 --- a/BinaryObjectScanner/Packer/UPX.cs +++ b/BinaryObjectScanner/Packer/UPX.cs @@ -9,7 +9,7 @@ namespace BinaryObjectScanner.Packer { // TODO: Add extraction // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class UPX : IExtractablePortableExecutable, IPortableExecutableCheck + public class UPX : IExtractableExecutable, IPortableExecutableCheck { private static readonly Regex _oldUpxVersionMatch = new Regex(@"\$Id: UPX (.*?) Copyright \(C\)", RegexOptions.Compiled); diff --git a/BinaryObjectScanner/Packer/WinRARSFX.cs b/BinaryObjectScanner/Packer/WinRARSFX.cs index 767c7921..6c012501 100644 --- a/BinaryObjectScanner/Packer/WinRARSFX.cs +++ b/BinaryObjectScanner/Packer/WinRARSFX.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { - public class WinRARSFX : IExtractablePortableExecutable, IPortableExecutableCheck + public class WinRARSFX : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/WinZipSFX.cs b/BinaryObjectScanner/Packer/WinZipSFX.cs index 2005ffb0..528a0bf4 100644 --- a/BinaryObjectScanner/Packer/WinZipSFX.cs +++ b/BinaryObjectScanner/Packer/WinZipSFX.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Wrappers; namespace BinaryObjectScanner.Packer { - public class WinZipSFX : IExtractableNewExecutable, IExtractablePortableExecutable, INewExecutableCheck, IPortableExecutableCheck + public class WinZipSFX : IExtractableExecutable, IExtractableExecutable, INewExecutableCheck, IPortableExecutableCheck { /// public string? CheckNewExecutable(string file, NewExecutable nex, bool includeDebug) diff --git a/BinaryObjectScanner/Packer/WiseInstaller.cs b/BinaryObjectScanner/Packer/WiseInstaller.cs index 4f3d73a6..9d98c37d 100644 --- a/BinaryObjectScanner/Packer/WiseInstaller.cs +++ b/BinaryObjectScanner/Packer/WiseInstaller.cs @@ -13,7 +13,7 @@ using WiseUnpacker.EWISE; namespace BinaryObjectScanner.Packer { // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class WiseInstaller : IExtractableNewExecutable, IExtractablePortableExecutable, INewExecutableCheck, IPortableExecutableCheck + public class WiseInstaller : IExtractableExecutable, IExtractableExecutable, INewExecutableCheck, IPortableExecutableCheck { /// public string? CheckNewExecutable(string file, NewExecutable nex, bool includeDebug) diff --git a/BinaryObjectScanner/Protection/Armadillo.cs b/BinaryObjectScanner/Protection/Armadillo.cs index e512719f..ead6b6f2 100644 --- a/BinaryObjectScanner/Protection/Armadillo.cs +++ b/BinaryObjectScanner/Protection/Armadillo.cs @@ -18,7 +18,7 @@ namespace BinaryObjectScanner.Protection // TODO: Add version checking, if possible // https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt - public class Armadillo : IExtractablePortableExecutable, IPortableExecutableCheck + public class Armadillo : IExtractableExecutable, IPortableExecutableCheck { /// public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) diff --git a/BinaryObjectScanner/Scanner.cs b/BinaryObjectScanner/Scanner.cs index 75beb9f2..50e82801 100644 --- a/BinaryObjectScanner/Scanner.cs +++ b/BinaryObjectScanner/Scanner.cs @@ -481,8 +481,8 @@ namespace BinaryObjectScanner // If we have any extractable packers var extractables = classes - .Where(c => c is IExtractableMSDOSExecutable) - .Select(c => c as IExtractableMSDOSExecutable); + .Where(c => c is IExtractableExecutable) + .Select(c => c as IExtractableExecutable); extractables.IterateWithAction(extractable => { // If we have an invalid extractable somehow @@ -547,8 +547,8 @@ namespace BinaryObjectScanner // If we have any extractable packers var extractables = classes - .Where(c => c is IExtractableLinearExecutable) - .Select(c => c as IExtractableLinearExecutable); + .Where(c => c is IExtractableExecutable) + .Select(c => c as IExtractableExecutable); extractables.IterateWithAction(extractable => { // If we have an invalid extractable somehow @@ -613,8 +613,8 @@ namespace BinaryObjectScanner // If we have any extractable packers var extractables = classes - .Where(c => c is IExtractableNewExecutable) - .Select(c => c as IExtractableNewExecutable); + .Where(c => c is IExtractableExecutable) + .Select(c => c as IExtractableExecutable); extractables.IterateWithAction(extractable => { // If we have an invalid extractable somehow @@ -679,8 +679,8 @@ namespace BinaryObjectScanner // If we have any extractable packers var extractables = classes - .Where(c => c is IExtractablePortableExecutable) - .Select(c => c as IExtractablePortableExecutable); + .Where(c => c is IExtractableExecutable) + .Select(c => c as IExtractableExecutable); extractables.IterateWithAction(extractable => { // If we have an invalid extractable somehow