mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-06-20 00:18:02 +03:00
clarify rva members
This commit is contained in:
@ -30,7 +30,7 @@ public class ExportDirectoryParser
|
||||
directory.TimeDateStamp = reader.ReadUInt32();
|
||||
directory.MajorVersion = reader.ReadUInt16();
|
||||
directory.MinorVersion = reader.ReadUInt16();
|
||||
directory.Name = reader.ReadUInt32();
|
||||
directory.DllNameRva = reader.ReadUInt32();
|
||||
directory.Base = reader.ReadUInt32();
|
||||
directory.NumberOfFunctions = reader.ReadUInt32();
|
||||
directory.NumberOfNames = reader.ReadUInt32();
|
||||
@ -41,7 +41,7 @@ public class ExportDirectoryParser
|
||||
// Read the DLL name
|
||||
try
|
||||
{
|
||||
uint dllNameRVA = directory.Name;
|
||||
uint dllNameRVA = directory.DllNameRva;
|
||||
uint dllNameOffset = _utility.RvaToOffset(dllNameRVA);
|
||||
reader.BaseStream.Seek(dllNameOffset, SeekOrigin.Begin);
|
||||
|
||||
@ -134,7 +134,7 @@ public class ExportDirectoryParser
|
||||
|
||||
ExportedFunction function = new ExportedFunction();
|
||||
function.Ordinal = (ushort)(i + directory.Base);
|
||||
function.Address = functionRVA;
|
||||
function.AddressRva = functionRVA;
|
||||
|
||||
// Check if this function has a name
|
||||
if (ordinalToName.TryGetValue(i, out string? name))
|
||||
|
@ -50,11 +50,11 @@ public class ImportDescriptorParser
|
||||
|
||||
ImportDescriptor descriptor = new ImportDescriptor
|
||||
{
|
||||
OriginalFirstThunk = originalFirstThunk,
|
||||
OriginalFirstThunkRva = originalFirstThunk,
|
||||
TimeDateStamp = timeDateStamp,
|
||||
ForwarderChain = forwarderChain,
|
||||
Name = nameRva,
|
||||
FirstThunk = firstThunk,
|
||||
DllNameRva = nameRva,
|
||||
FirstThunkRva = firstThunk,
|
||||
DllName = "Unknown" // Default name in case we can't read it
|
||||
};
|
||||
|
||||
@ -111,7 +111,7 @@ public class ImportDescriptorParser
|
||||
try
|
||||
{
|
||||
// Use OriginalFirstThunk if available, otherwise use FirstThunk
|
||||
uint thunkRva = descriptor.OriginalFirstThunk != 0 ? descriptor.OriginalFirstThunk : descriptor.FirstThunk;
|
||||
uint thunkRva = descriptor.OriginalFirstThunkRva != 0 ? descriptor.OriginalFirstThunkRva : descriptor.FirstThunkRva;
|
||||
|
||||
if (thunkRva == 0)
|
||||
{
|
||||
@ -133,7 +133,7 @@ public class ImportDescriptorParser
|
||||
|
||||
ImportedFunction function = new ImportedFunction
|
||||
{
|
||||
ThunkRVA = thunkRva + (uint)(functionCount * 4)
|
||||
ThunkRva = thunkRva + (uint)(functionCount * 4)
|
||||
};
|
||||
|
||||
// Check if imported by ordinal (high bit set)
|
||||
|
Reference in New Issue
Block a user