diff --git a/BurnOutSharp/PackerType/GenteeInstaller.cs b/BurnOutSharp/PackerType/GenteeInstaller.cs index 74097eae..e7aca3b5 100644 --- a/BurnOutSharp/PackerType/GenteeInstaller.cs +++ b/BurnOutSharp/PackerType/GenteeInstaller.cs @@ -1,4 +1,6 @@ +using System.Collections.Concurrent; using System.Collections.Generic; +using System.IO; using BurnOutSharp.ExecutableType.Microsoft.PE; using BurnOutSharp.Interfaces; using BurnOutSharp.Matching; @@ -6,8 +8,11 @@ using BurnOutSharp.Matching; namespace BurnOutSharp.PackerType { // TODO: Add extraction - public class GenteeInstaller : IPortableExecutableCheck + public class GenteeInstaller : IPortableExecutableCheck, IScannable { + /// + public bool ShouldScan(byte[] magic) => true; + /// public string CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) { @@ -41,5 +46,24 @@ namespace BurnOutSharp.PackerType return null; } + + /// + public ConcurrentDictionary> Scan(Scanner scanner, string file) + { + if (!File.Exists(file)) + return null; + + using (var fs = File.OpenRead(file)) + { + return Scan(scanner, fs, file); + } + } + + /// + // TODO: Add extraction if viable + public ConcurrentDictionary> Scan(Scanner scanner, Stream stream, string file) + { + return null; + } } }