mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-07-10 02:46:55 +00:00
Fixed formatting.
This commit is contained in:
@@ -14,28 +14,30 @@ using SabreTools.Serialization.Wrappers;
|
||||
namespace BinaryObjectScanner.Protection
|
||||
{
|
||||
// TODO: Technically not necessary, but just check for light/pro first and only if it isn't found look for the other. It should be an Or situation and not an And situation.
|
||||
// TODO: figure out if that's actually what light and professional mean
|
||||
// TODO: add documentation/comments to methods
|
||||
// TODO: figure out if that's actually what light and professional mean
|
||||
// TODO: add documentation/comments to methods
|
||||
public class CopyX : IPathCheck, IPortableExecutableCheck
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public string? CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) //checks for Professional
|
||||
public string?
|
||||
CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug) //checks for Professional
|
||||
{
|
||||
//I need to change this to check all executables, not just portable ones, but including portable ones. I think. I'll figure out how to do that later. Do i need to? does rdata work for this?
|
||||
//i dont need this to check optgraph.dll, that's redundant
|
||||
var sections = pex.Model.SectionTable;
|
||||
var sections = pex.Model.SectionTable;
|
||||
if (sections == null)
|
||||
return null;
|
||||
|
||||
// Get the .rdata section strings, if they exist
|
||||
var name = pex.FileDescription;
|
||||
|
||||
|
||||
|
||||
if (pex.OverlayStrings != null)
|
||||
{
|
||||
if (pex.OverlayStrings.Any(s => s.Contains("optgraph.dll")))
|
||||
return "copy-X";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -56,15 +58,17 @@ namespace BinaryObjectScanner.Protection
|
||||
var zdatFiles = files.Where(f => f.Remove(0, path.Length + 1).StartsWith("ZDAT"));
|
||||
var fileList = zdatFiles.ToList();
|
||||
fileList.Sort();
|
||||
FileStream stream = new FileStream(fileList[0], FileMode.Open, FileAccess.Read);
|
||||
FileStream stream = new FileStream(fileList[0], FileMode.Open, FileAccess.Read);
|
||||
byte[] block = new byte[1024];
|
||||
stream.Read(block, 0, 1024);
|
||||
if (block.All(thisByte => thisByte.Equals(0x00)))
|
||||
{
|
||||
protections.Enqueue("x-Copy");
|
||||
}
|
||||
|
||||
return protections;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string? CheckFilePath(string path)
|
||||
{
|
||||
@@ -72,6 +76,7 @@ namespace BinaryObjectScanner.Protection
|
||||
{
|
||||
return "copy-X";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user