Rename to pex and nex for readability

This commit is contained in:
Matt Nadareski
2025-09-09 13:11:27 -04:00
parent ef76166978
commit eaaa89847d
2 changed files with 46 additions and 46 deletions

View File

@@ -22,7 +22,7 @@ namespace SabreTools.Serialization.Deserializers
long initialOffset = data.Position;
// Create a new executable to fill
var executable = new Executable();
var nex = new Executable();
#region MS-DOS Stub
@@ -32,7 +32,7 @@ namespace SabreTools.Serialization.Deserializers
return null;
// Set the MS-DOS stub
executable.Stub = stub;
nex.Stub = stub;
#endregion
@@ -50,7 +50,7 @@ namespace SabreTools.Serialization.Deserializers
return null;
// Set the executable header
executable.Header = header;
nex.Header = header;
#endregion
@@ -59,16 +59,16 @@ namespace SabreTools.Serialization.Deserializers
// If the offset for the segment table doesn't exist
long tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.SegmentTableOffset;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the segment table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the segment table
executable.SegmentTable = new SegmentTableEntry[header.FileSegmentCount];
nex.SegmentTable = new SegmentTableEntry[header.FileSegmentCount];
for (int i = 0; i < header.FileSegmentCount; i++)
{
executable.SegmentTable[i] = ParseSegmentTableEntry(data, initialOffset);
nex.SegmentTable[i] = ParseSegmentTableEntry(data, initialOffset);
}
#endregion
@@ -78,13 +78,13 @@ namespace SabreTools.Serialization.Deserializers
// If the offset for the segment table doesn't exist
tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.ResourceTableOffset;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the resource table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the resource table
executable.ResourceTable = ParseResourceTable(data, header.ResourceEntriesCount);
nex.ResourceTable = ParseResourceTable(data, header.ResourceEntriesCount);
#endregion
@@ -94,13 +94,13 @@ namespace SabreTools.Serialization.Deserializers
tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.ResidentNameTableOffset;
long endOffset = initialOffset + stub.Header.NewExeHeaderAddr + header.ModuleReferenceTableOffset;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the resident-name table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the resident-name table
executable.ResidentNameTable = ParseResidentNameTable(data, endOffset);
nex.ResidentNameTable = ParseResidentNameTable(data, endOffset);
#endregion
@@ -109,16 +109,16 @@ namespace SabreTools.Serialization.Deserializers
// If the offset for the module-reference table doesn't exist
tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.ModuleReferenceTableOffset;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the module-reference table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the module-reference table
executable.ModuleReferenceTable = new ModuleReferenceTableEntry[header.ModuleReferenceTableSize];
nex.ModuleReferenceTable = new ModuleReferenceTableEntry[header.ModuleReferenceTableSize];
for (int i = 0; i < header.ModuleReferenceTableSize; i++)
{
executable.ModuleReferenceTable[i] = ParseModuleReferenceTableEntry(data);
nex.ModuleReferenceTable[i] = ParseModuleReferenceTableEntry(data);
}
#endregion
@@ -129,13 +129,13 @@ namespace SabreTools.Serialization.Deserializers
tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.ImportedNamesTableOffset;
endOffset = initialOffset + stub.Header.NewExeHeaderAddr + header.EntryTableOffset;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the imported-name table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the imported-name table
executable.ImportedNameTable = ParseImportedNameTable(data, endOffset);
nex.ImportedNameTable = ParseImportedNameTable(data, endOffset);
#endregion
@@ -145,13 +145,13 @@ namespace SabreTools.Serialization.Deserializers
tableAddress = initialOffset + stub.Header.NewExeHeaderAddr + header.EntryTableOffset;
endOffset = initialOffset + stub.Header.NewExeHeaderAddr + header.EntryTableOffset + header.EntryTableSize;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the imported-name table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the entry table
executable.EntryTable = ParseEntryTable(data, endOffset);
nex.EntryTable = ParseEntryTable(data, endOffset);
#endregion
@@ -161,17 +161,17 @@ namespace SabreTools.Serialization.Deserializers
tableAddress = initialOffset + header.NonResidentNamesTableOffset;
endOffset = initialOffset + header.NonResidentNamesTableOffset + header.NonResidentNameTableSize;
if (tableAddress >= data.Length)
return executable;
return nex;
// Seek to the nonresident-name table
data.Seek(tableAddress, SeekOrigin.Begin);
// Set the nonresident-name table
executable.NonResidentNameTable = ParseNonResidentNameTable(data, endOffset);
nex.NonResidentNameTable = ParseNonResidentNameTable(data, endOffset);
#endregion
return executable;
return nex;
}
catch
{

View File

@@ -24,7 +24,7 @@ namespace SabreTools.Serialization.Deserializers
long initialOffset = data.Position;
// Create a new executable to fill
var executable = new Executable();
var pex = new Executable();
#region MS-DOS Stub
@@ -34,7 +34,7 @@ namespace SabreTools.Serialization.Deserializers
return null;
// Set the MS-DOS stub
executable.Stub = stub;
pex.Stub = stub;
#endregion
@@ -48,8 +48,8 @@ namespace SabreTools.Serialization.Deserializers
// Try to parse the executable header
data.Seek(newExeOffset, SeekOrigin.Begin);
byte[] signature = data.ReadBytes(4);
executable.Signature = Encoding.ASCII.GetString(signature);
if (executable.Signature != SignatureString)
pex.Signature = Encoding.ASCII.GetString(signature);
if (pex.Signature != SignatureString)
return null;
#endregion
@@ -64,7 +64,7 @@ namespace SabreTools.Serialization.Deserializers
return null;
// Set the COFF file header
executable.COFFFileHeader = coffFileHeader;
pex.COFFFileHeader = coffFileHeader;
#endregion
@@ -79,7 +79,7 @@ namespace SabreTools.Serialization.Deserializers
// Set the optional header
if (optionalHeader != null)
executable.OptionalHeader = optionalHeader;
pex.OptionalHeader = optionalHeader;
}
#endregion
@@ -94,10 +94,10 @@ namespace SabreTools.Serialization.Deserializers
// header and not guessing otherwise.
// Set the section table
executable.SectionTable = new SectionHeader[coffFileHeader.NumberOfSections];
pex.SectionTable = new SectionHeader[coffFileHeader.NumberOfSections];
for (int i = 0; i < coffFileHeader.NumberOfSections; i++)
{
executable.SectionTable[i] = ParseSectionHeader(data);
pex.SectionTable[i] = ParseSectionHeader(data);
}
#endregion
@@ -111,15 +111,15 @@ namespace SabreTools.Serialization.Deserializers
data.Seek(offset, SeekOrigin.Begin);
// Set the COFF symbol and string tables
executable.COFFSymbolTable = ParseCOFFSymbolTable(data, coffFileHeader.NumberOfSymbols);
executable.COFFStringTable = ParseCOFFStringTable(data);
pex.COFFSymbolTable = ParseCOFFSymbolTable(data, coffFileHeader.NumberOfSymbols);
pex.COFFStringTable = ParseCOFFStringTable(data);
}
#endregion
// All tables require the optional header to exist
if (optionalHeader == null)
return executable;
return pex;
#region Export Table
@@ -127,14 +127,14 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.ExportTable != null)
{
offset = initialOffset
+ optionalHeader.ExportTable.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.ExportTable.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the export table
data.Seek(offset, SeekOrigin.Begin);
// Set the export table
executable.ExportTable = ParseExportTable(data, initialOffset, executable.SectionTable);
pex.ExportTable = ParseExportTable(data, initialOffset, pex.SectionTable);
}
}
@@ -146,14 +146,14 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.ImportTable != null)
{
offset = initialOffset
+ optionalHeader.ImportTable.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.ImportTable.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the import table
data.Seek(offset, SeekOrigin.Begin);
// Set the import table
executable.ImportTable = ParseImportTable(data, initialOffset, optionalHeader.Magic, executable.SectionTable);
pex.ImportTable = ParseImportTable(data, initialOffset, optionalHeader.Magic, pex.SectionTable);
}
}
@@ -165,14 +165,14 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.ResourceTable != null)
{
offset = initialOffset
+ optionalHeader.ResourceTable.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.ResourceTable.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the resource directory table
data.Seek(offset, SeekOrigin.Begin);
// Set the resource directory table
executable.ResourceDirectoryTable = ParseResourceDirectoryTable(data, initialOffset, data.Position, executable.SectionTable, true);
pex.ResourceDirectoryTable = ParseResourceDirectoryTable(data, initialOffset, data.Position, pex.SectionTable, true);
}
}
@@ -185,7 +185,7 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.CertificateTable != null)
{
offset = initialOffset
+ optionalHeader.CertificateTable.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.CertificateTable.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the attribute certificate table
@@ -193,7 +193,7 @@ namespace SabreTools.Serialization.Deserializers
long endOffset = offset + optionalHeader.CertificateTable.Size;
// Set the attribute certificate table
executable.AttributeCertificateTable = ParseAttributeCertificateTable(data, endOffset);
pex.AttributeCertificateTable = ParseAttributeCertificateTable(data, endOffset);
}
}
@@ -205,7 +205,7 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.BaseRelocationTable != null)
{
offset = initialOffset
+ optionalHeader.BaseRelocationTable.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.BaseRelocationTable.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the base relocation table
@@ -213,7 +213,7 @@ namespace SabreTools.Serialization.Deserializers
long endOffset = offset + optionalHeader.BaseRelocationTable.Size;
// Set the base relocation table
executable.BaseRelocationTable = ParseBaseRelocationTable(data, endOffset);
pex.BaseRelocationTable = ParseBaseRelocationTable(data, endOffset);
}
}
@@ -225,7 +225,7 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.Debug != null)
{
offset = initialOffset
+ optionalHeader.Debug.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.Debug.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the debug table
@@ -233,7 +233,7 @@ namespace SabreTools.Serialization.Deserializers
long endOffset = offset + optionalHeader.Debug.Size;
// Set the debug table
executable.DebugTable = ParseDebugTable(data, endOffset);
pex.DebugTable = ParseDebugTable(data, endOffset);
}
}
@@ -251,14 +251,14 @@ namespace SabreTools.Serialization.Deserializers
if (optionalHeader.DelayImportDescriptor != null)
{
offset = initialOffset
+ optionalHeader.DelayImportDescriptor.VirtualAddress.ConvertVirtualAddress(executable.SectionTable);
+ optionalHeader.DelayImportDescriptor.VirtualAddress.ConvertVirtualAddress(pex.SectionTable);
if (offset > initialOffset && offset < data.Length)
{
// Seek to the delay-load directory table
data.Seek(offset, SeekOrigin.Begin);
// Set the delay-load directory table
executable.DelayLoadDirectoryTable = ParseDelayLoadDirectoryTable(data);
pex.DelayLoadDirectoryTable = ParseDelayLoadDirectoryTable(data);
}
}
@@ -267,7 +267,7 @@ namespace SabreTools.Serialization.Deserializers
// TODO: CLR Runtime Header
// TODO: Reserved
return executable;
return pex;
}
catch
{