From c16946ace716fc532eed8cca216a75a26dc3b487 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 1 May 2022 20:44:45 -0700 Subject: [PATCH] Add IScannable to GenteeInstaller --- BurnOutSharp/PackerType/GenteeInstaller.cs | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) 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; + } } }