mirror of
https://github.com/SabreTools/SabreTools.Models.git
synced 2026-09-23 07:06:17 +00:00
Move export table
This commit is contained in:
@@ -97,7 +97,7 @@ namespace SabreTools.Models.PortableExecutable
|
||||
/// <summary>
|
||||
/// Export table (.edata)
|
||||
/// </summary>
|
||||
public ExportTable? ExportTable { get; set; }
|
||||
public Export.Table? ExportTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Import table (.idata)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export address table contains the address of exported entry points
|
||||
@@ -16,7 +16,7 @@ namespace SabreTools.Models.PortableExecutable
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public sealed class ExportAddressTableEntry
|
||||
public sealed class AddressTableEntry
|
||||
{
|
||||
/// <summary>
|
||||
/// The address of the exported symbol when loaded into memory, relative to
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export symbol information begins with the export directory table,
|
||||
@@ -7,7 +7,7 @@
|
||||
/// imports to the entry points within this image.
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
public sealed class ExportDirectoryTable
|
||||
public sealed class DirectoryTable
|
||||
{
|
||||
/// <summary>
|
||||
/// Reserved, must be 0.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export name pointer table is an array of addresses (RVAs) into the export name table.
|
||||
@@ -8,7 +8,7 @@
|
||||
/// An export name is defined only if the export name pointer table contains a pointer to it.
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
public sealed class ExportNamePointerTable
|
||||
public sealed class NamePointerTable
|
||||
{
|
||||
/// <summary>
|
||||
/// The pointers are 32 bits each and are relative to the image base.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export name table contains the actual string data that was pointed to by the export
|
||||
@@ -17,7 +17,7 @@
|
||||
/// of variable length.
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
public sealed class ExportNameTable
|
||||
public sealed class NameTable
|
||||
{
|
||||
/// <summary>
|
||||
/// A series of null-terminated ASCII strings of variable length.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export ordinal table is an array of 16-bit unbiased indexes into the export address table.
|
||||
@@ -32,7 +32,7 @@
|
||||
/// name = ExportNameTable[i];
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
public sealed class ExportOrdinalTable
|
||||
public sealed class OrdinalTable
|
||||
{
|
||||
/// <summary>
|
||||
/// An array of 16-bit unbiased indexes into the export address table
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
namespace SabreTools.Models.PortableExecutable.Export
|
||||
{
|
||||
/// <summary>
|
||||
/// The export data section, named .edata, contains information about symbols that other images
|
||||
@@ -13,7 +13,7 @@
|
||||
/// exist to support use of export names.
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
||||
public sealed class ExportTable
|
||||
public sealed class Table
|
||||
{
|
||||
// TODO: Look into splitting this up
|
||||
// Technically speaking, even though all of these should live in the same
|
||||
@@ -26,7 +26,7 @@
|
||||
/// A table with just one row (unlike the debug directory). This table indicates the
|
||||
/// locations and sizes of the other export tables.
|
||||
/// </summary>
|
||||
public ExportDirectoryTable? ExportDirectoryTable { get; set; }
|
||||
public DirectoryTable? ExportDirectoryTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// An array of RVAs of exported symbols. These are the actual addresses of the exported
|
||||
@@ -34,12 +34,12 @@
|
||||
/// can import a symbol by using an index to this table (an ordinal) or, optionally, by
|
||||
/// using the public name that corresponds to the ordinal if a public name is defined.
|
||||
/// </summary>
|
||||
public ExportAddressTableEntry[]? ExportAddressTable { get; set; }
|
||||
public AddressTableEntry[]? ExportAddressTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// An array of pointers to the public export names, sorted in ascending order.
|
||||
/// </summary>
|
||||
public ExportNamePointerTable? NamePointerTable { get; set; }
|
||||
public NamePointerTable? NamePointerTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// An array of the ordinals that correspond to members of the name pointer table. The
|
||||
@@ -47,7 +47,7 @@
|
||||
/// must have the same number of members. Each ordinal is an index into the export address
|
||||
/// table.
|
||||
/// </summary>
|
||||
public ExportOrdinalTable? OrdinalTable { get; set; }
|
||||
public OrdinalTable? OrdinalTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A series of null-terminated ASCII strings. Members of the name pointer table point into
|
||||
@@ -55,6 +55,6 @@
|
||||
/// exported; they are not necessarily the same as the private names that are used within
|
||||
/// the image file.
|
||||
/// </summary>
|
||||
public ExportNameTable? ExportNameTable { get; set; }
|
||||
public NameTable? ExportNameTable { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user