mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-09-22 14:54:56 +00:00
Add content and NE tests for packers
This commit is contained in:
@@ -6,6 +6,17 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
{
|
||||
public class EXEStealthTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckContentsTest()
|
||||
{
|
||||
string file = "filename";
|
||||
byte[] fileContent = [0x01, 0x02, 0x03, 0x04];
|
||||
|
||||
var checker = new EXEStealth();
|
||||
string? actual = checker.CheckContents(file, fileContent, includeDebug: true);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckPortableExecutableTest()
|
||||
{
|
||||
@@ -18,7 +29,7 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
string? actual = checker.CheckExecutable(file, pex, includeDebug: false);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void ExtractPortableExecutableTest()
|
||||
{
|
||||
|
||||
@@ -6,6 +6,19 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
{
|
||||
public class InnoSetupTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
|
||||
var checker = new InnoSetup();
|
||||
string? actual = checker.CheckExecutable(file, nex, includeDebug: false);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckPortableExecutableTest()
|
||||
{
|
||||
@@ -18,7 +31,21 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
string? actual = checker.CheckExecutable(file, pex, includeDebug: false);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void ExtractNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
string outputDir = string.Empty;
|
||||
|
||||
var checker = new InnoSetup();
|
||||
bool actual = checker.Extract(file, nex, outputDir, includeDebug: false);
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtractPortableExecutableTest()
|
||||
{
|
||||
|
||||
@@ -6,6 +6,19 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
{
|
||||
public class WinZipSFXTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
|
||||
var checker = new WinZipSFX();
|
||||
string? actual = checker.CheckExecutable(file, nex, includeDebug: false);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckPortableExecutableTest()
|
||||
{
|
||||
@@ -19,6 +32,20 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtractNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
string outputDir = string.Empty;
|
||||
|
||||
var checker = new WinZipSFX();
|
||||
bool actual = checker.Extract(file, nex, outputDir, includeDebug: false);
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtractPortableExecutableTest()
|
||||
{
|
||||
|
||||
@@ -6,6 +6,19 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
{
|
||||
public class WiseInstallerTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
|
||||
var checker = new WiseInstaller();
|
||||
string? actual = checker.CheckExecutable(file, nex, includeDebug: false);
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckPortableExecutableTest()
|
||||
{
|
||||
@@ -19,6 +32,20 @@ namespace BinaryObjectScanner.Test.Packer
|
||||
Assert.Null(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtractNewExecutableTest()
|
||||
{
|
||||
string file = "filename";
|
||||
SabreTools.Models.NewExecutable.Executable model = new();
|
||||
Stream source = new MemoryStream();
|
||||
SabreTools.Serialization.Wrappers.NewExecutable nex = new(model, source);
|
||||
string outputDir = string.Empty;
|
||||
|
||||
var checker = new WiseInstaller();
|
||||
bool actual = checker.Extract(file, nex, outputDir, includeDebug: false);
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtractPortableExecutableTest()
|
||||
{
|
||||
|
||||
@@ -8,7 +8,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 : IExecutableCheck<NewExecutable>,
|
||||
public class InnoSetup : IExtractableExecutable<NewExecutable>,
|
||||
IExtractableExecutable<PortableExecutable>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
@@ -52,6 +52,12 @@ namespace BinaryObjectScanner.Packer
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Extract(string file, NewExecutable nex, string outDir, bool includeDebug)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Extract(string file, PortableExecutable pex, string outDir, bool includeDebug)
|
||||
{
|
||||
|
||||
@@ -71,10 +71,9 @@ namespace BinaryObjectScanner.Packer
|
||||
/// <inheritdoc/>
|
||||
public bool Extract(string file, NewExecutable nex, string outDir, bool includeDebug)
|
||||
{
|
||||
Directory.CreateDirectory(outDir);
|
||||
|
||||
try
|
||||
{
|
||||
Directory.CreateDirectory(outDir);
|
||||
return Extractor.ExtractTo(file, outDir);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user