Class Amd64Platform
- Namespace
- AsmResolver.PE.Platforms
- Assembly
- AsmResolver.PE.dll
Provides information and services for the AMD64 target platform.
public class Amd64Platform : Platform
- Inheritance
-
Amd64Platform
- Inherited Members
Properties
Instance
Gets the singleton instance for the AMD64 platform.
public static Amd64Platform Instance { get; }
Property Value
Is32Bit
Gets a value indicating whether the platform is a 32-bit platform.
public override bool Is32Bit { get; }
Property Value
IsClrBootstrapperRequired
Gets a value indicating whether PEs with a .NET image embedded requires a CLR bootstrapper.
public override bool IsClrBootstrapperRequired { get; }
Property Value
TargetMachine
Gets the machine type associated to the platform.
public override MachineType TargetMachine { get; }
Property Value
Methods
CreateAddressTableInitializer(ISymbol)
Creates a new address table initializer stub.
public override AddressTableInitializerStub CreateAddressTableInitializer(ISymbol virtualProtect)
Parameters
virtualProtect
ISymbolThe symbol to
kernel32.dll!VirtualProtect
to use for temporarily adjusting the memory protection bits while initializing the address table.
Returns
- AddressTableInitializerStub
The initializer stub.
CreateThunkStub(ISymbol)
Creates a new thunk stub that transfers control to the provided symbol.
public override RelocatableSegment CreateThunkStub(ISymbol entryPoint)
Parameters
entryPoint
ISymbolThe symbol to jump to.
Returns
- RelocatableSegment
The created stub.
TryExtractThunkAddress(PEImage, BinaryStreamReader, out uint)
Attempts to extract the original RVA from the code at the provided thunk address reader.
public override bool TryExtractThunkAddress(PEImage image, BinaryStreamReader reader, out uint rva)
Parameters
image
PEImageThe image containing the thunk.
reader
BinaryStreamReaderThe thunk reader.
rva
uintThe extracted RVA.
Returns
- bool
true
if the RVA was extracted successfully from the code,false
otherwise.