vox.be.pecoff

Members

Aliases

PC
alias PC = ubyte*
Undocumented in source.
SymbolIndex
alias SymbolIndex = uint
Undocumented in source.

Enums

CoffFlags
enum CoffFlags

The Characteristics field contains flags that indicate attributes of the object or image file. The following flags are currently defined:

CoffSymClass
enum CoffSymClass
Undocumented in source.
IMAGE_REL_AMD64
enum IMAGE_REL_AMD64
Undocumented in source.
MachineType
enum MachineType

The Machine field has one of the following values that specifies its CPU type. An image file can be run only on the specified machine or on a system that emulates the specified machine.

STD_INPUT_HANDLE
anonymousenum STD_INPUT_HANDLE
Undocumented in source.
SectionFlags
enum SectionFlags
Undocumented in source.
SectionType
enum SectionType
Undocumented in source.
SymbolRefType
enum SymbolRefType
Undocumented in source.
SymbolSectionNumber
enum SymbolSectionNumber
Undocumented in source.
SymbolType
enum SymbolType
Undocumented in source.
WindowsSubsystem
enum WindowsSubsystem

Functions

createImports
void createImports(ImportSectionMapping mapping, Section* importSection)
Undocumented in source. Be warned that the author may not have intended to support it.
fromFixedString
string fromFixedString(char[] fixedStr)
Undocumented in source. Be warned that the author may not have intended to support it.
main
void main()
Undocumented in source. Be warned that the author may not have intended to support it.
nameFromSlashName
string nameFromSlashName(char[] name, string stringTable)
Undocumented in source. Be warned that the author may not have intended to support it.
printSectionCharacteristicsAlign
void printSectionCharacteristicsAlign(Sink sink, uint Characteristics)
Undocumented in source. Be warned that the author may not have intended to support it.
printSectionCharacteristicsFlags
void printSectionCharacteristicsFlags(Sink sink, uint Characteristics)
Undocumented in source. Be warned that the author may not have intended to support it.
printSectionStats
void printSectionStats(Sink sink, PecoffLib lib)
Undocumented in source. Be warned that the author may not have intended to support it.
printSectionStats
void printSectionStats(Sink sink, PecoffObj obj)
Undocumented in source. Be warned that the author may not have intended to support it.
printStringTable
void printStringTable(string stringTable, Sink sink, size_t tableAddrOffset)
Undocumented in source. Be warned that the author may not have intended to support it.
printSymbolStats
void printSymbolStats(Sink sink, PecoffLib lib)
Undocumented in source. Be warned that the author may not have intended to support it.
printSymbolStats
void printSymbolStats(Sink sink, PecoffObj obj)
Undocumented in source. Be warned that the author may not have intended to support it.
testExeCompilation
void testExeCompilation()
Undocumented in source. Be warned that the author may not have intended to support it.
testObjLibDump
void testObjLibDump()
Undocumented in source. Be warned that the author may not have intended to support it.
testObjLinking
void testObjLinking()
Undocumented in source. Be warned that the author may not have intended to support it.
writeStringAligned2
void writeStringAligned2(Arena!ubyte sink, string str)
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

DEFAULT_FILE_ALIGNMENT
enum DEFAULT_FILE_ALIGNMENT;
Undocumented in source.
DEFAULT_SECTION_ALIGNMENT
enum DEFAULT_SECTION_ALIGNMENT;
Undocumented in source.
IAT_ILT_ENTRY_BYTES
enum IAT_ILT_ENTRY_BYTES;
Undocumented in source.

Structs

ArraySink
struct ArraySink
Undocumented in source.
CoffFileHeader
struct CoffFileHeader

COFF File Header (Object and Image)

CoffRelocation
struct CoffRelocation
Undocumented in source.
CoffSymbolRange
struct CoffSymbolRange
Undocumented in source.
CoffSymbolRangeItem
struct CoffSymbolRangeItem
Undocumented in source.
DataSection
struct DataSection
Undocumented in source.
DllImports
struct DllImports
Undocumented in source.
DosHeader
struct DosHeader
Undocumented in source.
DosStub
struct DosStub

MS-DOS Stub (Image Only)

Executable
struct Executable
Undocumented in source.
ExportDirectoryEntry
struct ExportDirectoryEntry
Undocumented in source.
FileParameters
struct FileParameters
Undocumented in source.
HintNameEntry
struct HintNameEntry
Undocumented in source.
HintNameTable
struct HintNameTable
Undocumented in source.
ImageDataDirectory
struct ImageDataDirectory
Undocumented in source.
ImportDirectoryTableEntry
struct ImportDirectoryTableEntry
Undocumented in source.
ImportLookupEntry
struct ImportLookupEntry
Undocumented in source.
ImportLookupTable
struct ImportLookupTable
Undocumented in source.
ImportSection
struct ImportSection
Undocumented in source.
ImportSectionMapping
struct ImportSectionMapping

A set of slices on top of single memory buffer

ImportedDlls
struct ImportedDlls

Calculates the size of import section from DllImports

LibMemberHeader
struct LibMemberHeader
Undocumented in source.
LinkingContext
struct LinkingContext
Undocumented in source.
OptionalHeader
struct OptionalHeader

Optional Header (Image Only)

ParsedLibMemberHeader
struct ParsedLibMemberHeader
Undocumented in source.
PeSignature
struct PeSignature
Undocumented in source.
PeSymbolName
struct PeSymbolName
Undocumented in source.
PecoffLib
struct PecoffLib
Undocumented in source.
PecoffObj
struct PecoffObj
Undocumented in source.
ReferenceTable
struct ReferenceTable
Undocumented in source.
RelativeReference
struct RelativeReference
Undocumented in source.
Section
struct Section
Undocumented in source.
SectionHeader
struct SectionHeader
Undocumented in source.
SectionStats
struct SectionStats
Undocumented in source.
Symbol
struct Symbol
Undocumented in source.
SymbolImport
struct SymbolImport
Undocumented in source.
SymbolName
struct SymbolName
Undocumented in source.
SymbolNameTable
struct SymbolNameTable
Undocumented in source.
SymbolRef
struct SymbolRef
Undocumented in source.
SymbolReference
struct SymbolReference
Undocumented in source.
SymbolSectionInfo
struct SymbolSectionInfo
Undocumented in source.
SymbolStats
struct SymbolStats
Undocumented in source.
SymbolTable
struct SymbolTable
Undocumented in source.
SymbolTableEntry
struct SymbolTableEntry

The symbol table in this section is inherited from the traditional COFF format. It is distinct from Microsoft Visual C++® debug information. A file can contain both a COFF symbol table and Visual C++ debug information, and the two are kept separate. Some Microsoft tools use the symbol table for limited but important purposes, such as communicating COMDAT information to the linker. Section names and file names, as well as code and data symbols, are listed in the symbol table. The location of the symbol table is indicated in the COFF header. The symbol table is an array of records, each 18 bytes long. Each record is either a standard or auxiliary symbol-table record. A standard record defines a symbol or name and has the following format.

Variables

ARCHIVE_FILE_SIGNATURE
auto ARCHIVE_FILE_SIGNATURE;
Undocumented in source.
IMAGE_REL_AMD64_names
string[] IMAGE_REL_AMD64_names;
Undocumented in source.
relTargetSizeTable
ubyte[] relTargetSizeTable;
Undocumented in source.

Meta

Authors

Andrey Penechko.