public bool FreeBSD(long offset)
{
var Candidate = false;
//var offset = CurrWindowBase + CurrMapBase;
var shifted = (block[0x100] & 0xFFFFFFFFF000);
var diff = offset - shifted;
if (((block[0] & 0xff) == 0x67) && (0x67 == (block[0xff] & 0xff)))
{
if (((block[0x100] & 0xff) == 0x63) && (0 == (block[0x100] & 0x7FFF000000000000)))
{
if (!DetectedProcesses.ContainsKey(offset))
{
var dp = new DetectedProc { CR3Value = shifted, FileOffset = offset, Diff = diff, Mode = 2, PageTableType = PTType.FreeBSD, TrueOffset = TrueOffset };
for (int p = 0; p < 0x200; p++)
{
if (block[p] != 0)
dp.TopPageTablePage.Add(p, block[p]);
}
DetectedProcesses.TryAdd(offset, dp);
if (Vtero.VerboseOutput)
WriteColor(ConsoleColor.Cyan, ConsoleColor.Black, dp.ToString());
Candidate = true;
}
}
}
return Candidate;
}
/// <summary>