mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-07-17 14:25:12 +00:00
Make ReadArbitraryRange safer to handle
This commit is contained in:
@@ -73,9 +73,18 @@ namespace BinaryObjectScanner.Protection
|
||||
public string? CheckExecutable(string file, NewExecutable nex, bool includeDebug)
|
||||
{
|
||||
// TODO: Don't read entire file
|
||||
var data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
byte[]? data;
|
||||
try
|
||||
{
|
||||
data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
return null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Ignore errors reading ranges
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO: Figure out what NE section this lives in
|
||||
var neMatchSets = new List<ContentMatchSet>
|
||||
|
||||
@@ -52,9 +52,18 @@ namespace BinaryObjectScanner.Protection
|
||||
}
|
||||
|
||||
// TODO: Don't read entire file
|
||||
var data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
byte[]? data;
|
||||
try
|
||||
{
|
||||
data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
return null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Ignore errors reading ranges
|
||||
return null;
|
||||
}
|
||||
|
||||
var neMatchSets = new List<ContentMatchSet>
|
||||
{
|
||||
|
||||
@@ -41,9 +41,18 @@ namespace BinaryObjectScanner.Protection
|
||||
public string? CheckExecutable(string file, NewExecutable nex, bool includeDebug)
|
||||
{
|
||||
// TODO: Don't read entire file
|
||||
var data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
byte[]? data;
|
||||
try
|
||||
{
|
||||
data = nex.ReadArbitraryRange();
|
||||
if (data == null)
|
||||
return null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Ignore errors reading ranges
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO: Figure out what NE section this lives in
|
||||
var neMatchSets = new List<ContentMatchSet>
|
||||
|
||||
Reference in New Issue
Block a user