Documentation
¶
Index ¶
- Constants
- func GetApiSetValueEntryName(apiNamespace *API_SET_NAMESPACE, entry *API_SET_VALUE_ENTRY) string
- func GetApiSetValueEntryValue(apiNamespace *API_SET_NAMESPACE, entry *API_SET_VALUE_ENTRY) string
- func GetApiSetValueName(apiNamespace *API_SET_NAMESPACE, entry *API_SET_NAMESPACE_ENTRY) string
- func GetPEBptr() uintptr
- func GetTEBptr() uintptr
- func Hash(str string) uint32
- func IsForwardedFunction(procAddr uintptr, exportDir *IMAGE_EXPORT_DIRECTORY, exportDirSize uint32) bool
- func NewDLL[T ~string | ~uint32](module T) *windows.DLL
- func NewProc[T ~string | ~uint16 | ~uint32](dll *windows.DLL, procedure T) *windows.Proc
- func ResolveApiSet(apiSet string, parentName string) string
- func ResolveFunctionAddr[T ~string | ~uint16 | ~uint32](dll *windows.DLL, procedure T) uintptr
- func ResolveFunctionName[T ~string | ~uint16 | ~uint32](dll *windows.DLL, procedure T) string
- type ACTIVATION_CONTEXT_STACK
- type API_SET_HASH_ENTRY
- type API_SET_NAMESPACE
- type API_SET_NAMESPACE_ENTRY
- type API_SET_VALUE_ENTRY
- type CLIENT_ID
- type CURDIR
- type EXCEPTION_REGISTRATION_RECORD
- type GDI_TEB_BATCH
- type IMAGE_DATA_DIRECTORY
- type IMAGE_DOS_HEADER
- type IMAGE_EXPORT_DIRECTORY
- type IMAGE_FILE_HEADER
- type IMAGE_NT_HEADERS
- type IMAGE_OPTIONAL_HEADER
- type IMAGE_SECTION_HEADER
- type LDRP_CSLIST
- type LDR_DATA_TABLE_ENTRY
- type LDR_DDAG_NODE
- type LDR_SERVICE_TAG_RECORD
- type LIST_ENTRY
- type NT_TIB
- type PEB
- type PEB_LDR_DATA
- type RTL_ACTIVATION_CONTEXT_STACK_FRAME
- type RTL_BALANCED_NODE
- type RTL_DRIVER_LETTER_CURDIR
- type RTL_USER_PROCESS_PARAMETERS
- type SINGLE_LIST_ENTRY
- type TEB
- type TEB_ACTIVE_FRAME
- type TEB_ACTIVE_FRAME_CONTEXT
Constants ¶
const ( IMAGE_DIRECTORY_ENTRY_EXPORT = 0 IMAGE_DIRECTORY_ENTRY_IMPORT = 1 IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3 IMAGE_DIRECTORY_ENTRY_BASERELOC = 5 IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13 IMAGE_DIRECTORY_ENTRY_TLS = 9 )
Variables ¶
This section is empty.
Functions ¶
func GetApiSetValueEntryName ¶
func GetApiSetValueEntryName(apiNamespace *API_SET_NAMESPACE, entry *API_SET_VALUE_ENTRY) string
func GetApiSetValueEntryValue ¶
func GetApiSetValueEntryValue(apiNamespace *API_SET_NAMESPACE, entry *API_SET_VALUE_ENTRY) string
func GetApiSetValueName ¶
func GetApiSetValueName(apiNamespace *API_SET_NAMESPACE, entry *API_SET_NAMESPACE_ENTRY) string
func IsForwardedFunction ¶
func IsForwardedFunction(procAddr uintptr, exportDir *IMAGE_EXPORT_DIRECTORY, exportDirSize uint32) bool
IsForwardedFunction checks if the proc is valid, if not it's a forwarded function
func NewDLL ¶
NewDLL parses PEB's InLoadOrderModuleList to retrieve a DLL handle. Pass an empty string or 0 to retrieve the current module.
func NewProc ¶
NewProc is the reimplementation of GetProcAddress using binary search (3x faster) with a linear search fallback. It implements search by name, ordinal or hash.
func ResolveApiSet ¶
ResolveApiSet returns the name of the real function host.
func ResolveFunctionAddr ¶
ResokveFunctionAddr returns the address of a function. Search by name, ordinal or hash.
Types ¶
type ACTIVATION_CONTEXT_STACK ¶
type ACTIVATION_CONTEXT_STACK struct {
ActiveFrame *RTL_ACTIVATION_CONTEXT_STACK_FRAME
FrameListCache LIST_ENTRY
Flags uint32
NextCookieSequenceNumber uint32
StackId uint32
}
type API_SET_HASH_ENTRY ¶
func GetApiSetHashEntry ¶
func GetApiSetHashEntry(apiNamespace *API_SET_NAMESPACE, index uint32) *API_SET_HASH_ENTRY
type API_SET_NAMESPACE ¶
type API_SET_NAMESPACE struct {
Version uint32
Size uint32
Flags uint32
Count uint32
EntryOffset uint32
HashOffset uint32
HashFactor uint32
}
func GetApiSetNamespace ¶
func GetApiSetNamespace() *API_SET_NAMESPACE
GetApiSetNamespace returns an API_SET_NAMESPACE structure from PEB
type API_SET_NAMESPACE_ENTRY ¶
type API_SET_NAMESPACE_ENTRY struct {
Flags uint32
NameOffset uint32
NameLength uint32
HashedLength uint32
ValueOffset uint32
ValueCount uint32
}
func ApiSetSearchForApiSet ¶
func ApiSetSearchForApiSet(apiNamespace *API_SET_NAMESPACE, apiToResolve string) *API_SET_NAMESPACE_ENTRY
func GetApiSetNamespaceEntry ¶
func GetApiSetNamespaceEntry(apiNamespace *API_SET_NAMESPACE, index uint32) *API_SET_NAMESPACE_ENTRY
type API_SET_VALUE_ENTRY ¶
type API_SET_VALUE_ENTRY struct {
Flags uint32
NameOffset uint32
NameLength uint32
ValueOffset uint32
ValueLength uint32
}
func ApiSetSearchForApiSetHost ¶
func ApiSetSearchForApiSetHost(entry *API_SET_NAMESPACE_ENTRY, apiToResolve string, apiNamespace *API_SET_NAMESPACE) *API_SET_VALUE_ENTRY
func GetApiSetNamespaceValueEntry ¶
func GetApiSetNamespaceValueEntry(apiNamespace *API_SET_NAMESPACE, entry *API_SET_NAMESPACE_ENTRY, index uint32) *API_SET_VALUE_ENTRY
type EXCEPTION_REGISTRATION_RECORD ¶
type EXCEPTION_REGISTRATION_RECORD struct {
Next *EXCEPTION_REGISTRATION_RECORD
Handle uintptr
}
type GDI_TEB_BATCH ¶
type IMAGE_DATA_DIRECTORY ¶
func GetDataDirectory ¶
func GetDataDirectory(module unsafe.Pointer, entry int) *IMAGE_DATA_DIRECTORY
GetDataDirectory returns the IMAGE_DATA_DIRECTORY of a module specified by the entry index
type IMAGE_DOS_HEADER ¶
type IMAGE_DOS_HEADER struct {
E_magic uint16
E_cblp uint16
E_cp uint16
E_crlc uint16
E_cparhdr uint16
E_minalloc uint16
E_maxalloc uint16
E_ss uint16
E_sp uint16
E_csum uint16
E_ip uint16
E_cs uint16
E_lfarlc uint16
E_ovno uint16
E_res [4]uint16
E_oemid uint16
E_oeminfo uint16
E_res2 [10]uint16
E_lfanew uint32
}
func GetDosHeader ¶
func GetDosHeader(module unsafe.Pointer) *IMAGE_DOS_HEADER
GetDosHeader returns the IMAGE_DOS_HEADER of a module
type IMAGE_EXPORT_DIRECTORY ¶
type IMAGE_FILE_HEADER ¶
type IMAGE_NT_HEADERS ¶
type IMAGE_NT_HEADERS struct {
Signature uint32
FileHeader IMAGE_FILE_HEADER
OptionalHeader IMAGE_OPTIONAL_HEADER
}
func GetNtHeaders ¶
func GetNtHeaders(module unsafe.Pointer) *IMAGE_NT_HEADERS
GetNtHeaders returns the IMAGE_NT_HEADERS of a module
type IMAGE_OPTIONAL_HEADER ¶
type IMAGE_OPTIONAL_HEADER struct {
Magic uint16
MajorLinkerVersion uint8
MinorLinkerVersion uint8
SizeOfCode uint32
SizeOfInitializedData uint32
SizeOfUninitializedData uint32
AddressOfEntryPoint uint32
BaseOfCode uint32
ImageBase uintptr
SectionAlignment uint32
FileAlignment uint32
MajorOperatingSystemVersion uint16
MinorOperatingSystemVersion uint16
MajorImageVersion uint16
MinorImageVersion uint16
MajorSubsystemVersion uint16
MinorSubsystemVersion uint16
Win32VersionValue uint32
SizeOfImage uint32
SizeOfHeaders uint32
CheckSum uint32
Subsystem uint16
DllCharacteristics uint16
SizeOfStackReserve uint64
SizeOfStackCommit uint64
SizeOfHeapReserve uint64
SizeOfHeapCommit uint64
LoaderFlags uint32
NumberOfRvaAndSizes uint32
DataDirectory [16]IMAGE_DATA_DIRECTORY
}
type IMAGE_SECTION_HEADER ¶
type IMAGE_SECTION_HEADER struct {
Name [8]byte
VirtualSize uint32
VirtualAddress uint32
SizeOfRawData uint32
PointerToRawData uint32
PointerToRelocations uint32
PointerToLinenumbers uint32
NumberOfRelocations uint16
NumberOfLinenumbers uint16
Characteristics uint32
}
func GetSectionHeader ¶
func GetSectionHeader(module unsafe.Pointer, sectionName string) *IMAGE_SECTION_HEADER
GetSectionHeader returns the IMAGE_SECTION_HEADER specified by the section name for the given module or nil if the section is not found
func ImageFirstSection ¶
func ImageFirstSection(ntHdrs *IMAGE_NT_HEADERS) *IMAGE_SECTION_HEADER
ImageFirstSection returns the first section by parsing NT headers
type LDRP_CSLIST ¶
type LDRP_CSLIST struct {
Tail *SINGLE_LIST_ENTRY
}
type LDR_DATA_TABLE_ENTRY ¶
type LDR_DATA_TABLE_ENTRY struct {
InLoadOrderLinks LIST_ENTRY
InMemoryOrderLinks LIST_ENTRY
InInitializationOrderLinks LIST_ENTRY
/* Union1:
union
{
LIST_ENTRY InInitializationOrderLinks;
LIST_ENTRY InProgressLinks;
};
*/
DllBase uintptr
EntryPoint uintptr
SizeOfImage uint32
FullDllName windows.NTUnicodeString
BaseDllName windows.NTUnicodeString
Flags uint32
/* Flags:
union
{
UCHAR FlagGroup[4];
ULONG Flags;
struct
{
ULONG PackagedBinary : 1;
ULONG MarkedForRemoval : 1;
ULONG ImageDll : 1;
ULONG LoadNotificationsSent : 1;
ULONG TelemetryEntryProcessed : 1;
ULONG ProcessStaticImport : 1;
ULONG InLegacyLists : 1;
ULONG InIndexes : 1;
ULONG ShimDll : 1;
ULONG InExceptionTable : 1;
ULONG ReservedFlags1 : 2;
ULONG LoadInProgress : 1;
ULONG LoadConfigProcessed : 1;
ULONG EntryProcessed : 1;
ULONG ProtectDelayLoad : 1;
ULONG ReservedFlags3 : 2;
ULONG DontCallForThreads : 1;
ULONG ProcessAttachCalled : 1;
ULONG ProcessAttachFailed : 1;
ULONG CorDeferredValidate : 1;
ULONG CorImage : 1;
ULONG DontRelocate : 1;
ULONG CorILOnly : 1;
ULONG ChpeImage : 1;
ULONG ReservedFlags5 : 2;
ULONG Redirected : 1;
ULONG ReservedFlags6 : 2;
ULONG CompatDatabaseProcessed : 1;
};
};
*/
ObsoleteLoadCount uint16
TlsIndex uint16
HashLinks LIST_ENTRY
TimeDateStamp uint32
EntryPointActivationContext uintptr // *ACTIVATION_CONTEXT
Lock uintptr
DdagNode *LDR_DDAG_NODE
NodeModuleLink LIST_ENTRY
LoadContext uintptr // _LDRP_LOAD_CONTEXT *
ParentDllBase uintptr
SwitchBackContext uintptr
BaseAddressIndexNode RTL_BALANCED_NODE
MappingInfoIndexNode RTL_BALANCED_NODE
OriginalBase uintptr
LoadTime int64
BaseNameHashValue uint32
LoadReason uint32
ImplicitPathOptions uint32
ReferenceCount uint32
DependentLoadFlags uint32
SigningLevel byte
}
type LDR_DDAG_NODE ¶
type LDR_DDAG_NODE struct {
Modules LIST_ENTRY
ServiceTagList *LDR_SERVICE_TAG_RECORD
LoadCount uint32
LoadWhileUnloadingCount uint32
LowestLink uint32
RemovalLink SINGLE_LIST_ENTRY
/* Union1:
union {
LDRP_CSLIST Dependencies;
SINGLE_LIST_ENTRY RemovalLink;
};
*/
IncomingDependencies LDRP_CSLIST
State int
CondenseLink LIST_ENTRY
PreorderNumber uint32
}
type LDR_SERVICE_TAG_RECORD ¶
type LDR_SERVICE_TAG_RECORD struct {
Next *LDR_SERVICE_TAG_RECORD
ServiceTag uint32
}
type LIST_ENTRY ¶
type LIST_ENTRY struct {
Flink *LIST_ENTRY
Blink *LIST_ENTRY
}
type PEB ¶
type PEB struct {
InheritedAddressSpace byte
ReadImageFileExecOptions byte
BeingDebugged byte
BitField byte
/* BitField:
union
{
BOOLEAN BitField;
struct
{
BOOLEAN ImageUsesLargePages : 1;
BOOLEAN IsProtectedProcess : 1;
BOOLEAN IsImageDynamicallyRelocated : 1;
BOOLEAN SkipPatchingUser32Forwarders : 1;
BOOLEAN IsPackagedProcess : 1;
BOOLEAN IsAppContainer : 1;
BOOLEAN IsProtectedProcessLight : 1;
BOOLEAN IsLongPathAwareProcess : 1;
};
};
*/
Mutant uintptr
ImageBaseAddress uintptr
Ldr *PEB_LDR_DATA
ProcessParameters *RTL_USER_PROCESS_PARAMETERS
SubSystemData uintptr
ProcessHeap uintptr
FastPebLock uintptr // RTL_CRITICAL_SECTION*
AtlThunkSListPtr uintptr // SLIST_HEADER*
IFEOKey uintptr
CrossProcessFlags uint32
/* CrossProcessFlags:
union
{
ULONG CrossProcessFlags;
struct
{
ULONG ProcessInJob : 1;
ULONG ProcessInitializing : 1;
ULONG ProcessUsingVEH : 1;
ULONG ProcessUsingVCH : 1;
ULONG ProcessUsingFTH : 1;
ULONG ProcessPreviouslyThrottled : 1;
ULONG ProcessCurrentlyThrottled : 1;
ULONG ProcessImagesHotPatched : 1; // REDSTONE5
ULONG ReservedBits0 : 24;
};
};
*/
Data uintptr
/* Data:
union
{
PVOID KernelCallbackTable;
PVOID UserSharedInfoPtr;
};
*/
SystemReserved uint32
AtlThunkSListPtr32 uint32
ApiSetMap *API_SET_NAMESPACE // API_SET_NAMESPACE*
TlsExpansionCounter uint32
TlsBitmap uintptr // PRTL_BITMAP
TlsBitmapBits [2]uint32
ReadOnlyStaticServerData uintptr
AnsiCodePageData uintptr // CPTABLEINFO*
OemCodePageData uintptr // CPTABLEINFO*
UnicodeCaseTable uintptr // NLSTABLEINFO*
NumberOfProcessors uint32
NtGlobalFlag uint32
CriticalSectionTimeout uint64
HeapSegmentReserve uint64
HeapSegmentCommit uint64
HeapDeCommitTotalFreeThreshold uint64
HeapDeCommitFreeBlockThreshold uint64
NumberOfHeaps uint32
MaximumNumberOfHeaps uint32
ProcessHeaps uintptr // HEAP**
ProcessStarterHelper uintptr
GdiDCAttributeList uint32
LoaderLock uintptr // RTL_CRITICAL_SECTION*
OSMajorVersion uint32
OSMinorVersion uint32
OSBuildNumber uint16
OSCSDVersion uint16
OSPlatformId uint32
ImageSubsystem uint32
ImageSubsystemMajorVersion uint32
ImageSubsystemMinorVersion uint32
ActiveProcessAffinityMask uint64
GdiHandleBuffer [60]uint32
PostProcessInitRoutine uintptr
TlsExpansionBitmap uintptr
TlsExpansionBitmapBits [32]uint32
SessionId uint32
AppCompatFlags uint64
AppCompatFlagsUser uint64
ShimData uintptr
AppCompatInfo uintptr // APPCOMPAT_EXE_DATA
CSDVersion windows.NTUnicodeString
ActivationContextData uintptr // ACTIVATION_CONTEXT_DATA
ProcessAssemblyStorageMap uintptr // ASSEMBLY_STORAGE_MAP
SystemDefaultActivationContext uintptr // ACTIVATION_CONTEXT_DATA
SystemAssemblyStorageMap uintptr // ASSEMBLY_STORAGE_MAP
MinimumStackCommit uint64
SparePointers [4]uintptr // 19H1 (previously FlsCallback to FlsHighIndex)
SpareUlongs [5]uint32 // 19H1
/*
PVOID* FlsCallback;
LIST_ENTRY FlsListHead;
PVOID FlsBitmap;
ULONG FlsBitmapBits[FLS_MAXIMUM_AVAILABLE / (sizeof(ULONG) * 8)];
ULONG FlsHighIndex;
*/
WerRegistrationData uintptr
WerShipAssertPtr uintptr
Unused uintptr
ImageHeaderHash uintptr
TracingFlags uint32
/* TracingFlags:
union
{
ULONG TracingFlags;
struct
{
ULONG HeapTracingEnabled : 1;
ULONG CritSecTracingEnabled : 1;
ULONG LibLoaderTracingEnabled : 1;
ULONG SpareTracingBits : 29;
};
};
*/
TppWorkerpListLock uintptr // RTL_CRITICAL_SECTION*
TppWorkerpList *LIST_ENTRY
WaitOnAddressHashTable [128]uintptr
TelemetryCoverageHeader uintptr // REDSTONE3
CloudFileFlags uint32
CloudFileDiagInfo uint32 // REDSTONE4
PlaceholderCompatibilityMode uint8
PlaceholderCompatibilityModeReserved [7]uint8
LeapSecondData uintptr // REDSTONE5
LeapSecondFlags uint32
/* LeapSecondFlags:
union
{
ULONG LeapSecondFlags;
struct
{
ULONG SixtySecondEnabled : 1;
ULONG Reserved : 31;
};
};
*/
NtGlobalFlag2 uint32
}
type PEB_LDR_DATA ¶
type PEB_LDR_DATA struct {
Length uint32
Initialized uint8
SsHandle uintptr
InLoadOrderModuleList LIST_ENTRY
InMemoryOrderModuleList LIST_ENTRY
InInitializationOrderModuleList LIST_ENTRY
EntryInProgress uintptr
ShutdownInProgress uint8
ShutdownThreadId uintptr
}
type RTL_ACTIVATION_CONTEXT_STACK_FRAME ¶
type RTL_ACTIVATION_CONTEXT_STACK_FRAME struct {
Previous *RTL_ACTIVATION_CONTEXT_STACK_FRAME
ActivationContext uintptr // _ACTIVATION_CONTEXT*
Flags uint32
}
type RTL_BALANCED_NODE ¶
type RTL_BALANCED_NODE struct {
Left *RTL_BALANCED_NODE
Right *RTL_BALANCED_NODE
/* Children:
union
{
struct _RTL_BALANCED_NODE* Children[2]; //0x0
struct
{
struct _RTL_BALANCED_NODE* Left; //0x0
struct _RTL_BALANCED_NODE* Right; //0x8
};
}
*/
Data uintptr
}
type RTL_USER_PROCESS_PARAMETERS ¶
type RTL_USER_PROCESS_PARAMETERS struct {
MaximumLength uint32
Length uint32
Flags uint32
DebugFlags uint32
ConsoleHandle windows.Handle
ConsoleFlags uint32
StandardInput windows.Handle
StandardOutput windows.Handle
StandardError windows.Handle
CurrentDirectory CURDIR
DllPath windows.NTUnicodeString
ImagePathName windows.NTUnicodeString
CommandLine windows.NTUnicodeString
Environment uintptr
StartingX uint32
StartingY uint32
CountX uint32
CountY uint32
CountCharsX uint32
CountCharsY uint32
FillAttribute uint32
WindowFlags uint32
ShowWindowFlags uint32
WindowTitle windows.NTUnicodeString
DesktopInfo windows.NTUnicodeString
ShellInfo windows.NTUnicodeString
RuntimeData windows.NTUnicodeString
CurrentDirectories [32]RTL_DRIVER_LETTER_CURDIR
EnvironmentSize uintptr
EnvironmentVersion uintptr
PackageDependencyData uintptr
ProcessGroUpId uint32
LoaderThreads uint32
RedirectionDllName windows.NTUnicodeString
HeapPartitionName windows.NTUnicodeString
DefaultThreadpoolCpuSetMasks uintptr
DefaultThreadpoolCpuSetMaskCount uint32
}
type SINGLE_LIST_ENTRY ¶
type SINGLE_LIST_ENTRY struct {
Next *SINGLE_LIST_ENTRY
}
type TEB ¶
type TEB struct {
NtTib NT_TIB
EnvironmentPointer uintptr
ClientId CLIENT_ID
ActiveRpcHandle uintptr
ThreadLocalStoragePointer uintptr
ProcessEnvironmentBlock *PEB
LastErrorValue uint32
CountOfOwnedCriticalSections uint32
CsrClientThread uintptr
Win32ThreadInfo uintptr
User32Reserved [26]uint32
UserReserved [5]uint32
WOW32Reserved uintptr
CurrentLocale uint32
FpSoftwareStatusRegister uint32
ReservedForDebuggerInstrumentation [16]uintptr
SystemReserved1 [30]uintptr
PlaceholderCompatibilityMode byte
PlaceholderHydrationAlwaysExplicit uint8
PlaceholderReserved [10]byte
ProxiedProcessId uint32
ActivationStack ACTIVATION_CONTEXT_STACK
WorkingOnBehalfTicket [8]byte
ExceptionCode uint32
Padding0 [4]byte
ActivationContextStackPointer *ACTIVATION_CONTEXT_STACK
InstrumentationCallbackSp uint64
InstrumentationCallbackPreviousPc uint64
InstrumentationCallbackPreviousSp uint64
TxFsContext uint32
InstrumentationCallbackDisabled byte
UnalignedLoadStoreExceptions byte
Padding1 [2]byte
GdiTebBatch GDI_TEB_BATCH
RealClientId CLIENT_ID
GdiCachedProcessHandle uintptr
GdiClientPID uint32
GdiClientTID uint32
GdiThreadLocalInfo uint32
Win32ClientInfo [62]uint64
LastStatusValue uint32
Padding2 [4]byte
StaticUnicodeString windows.NTUnicodeString
StaticUnicodeBuffer [261]uint16
Padding3 [6]byte
DeallocationStack uintptr
TlsSlots [64]uintptr
TlsLinks LIST_ENTRY
Vdm uintptr
ReservedForNtRpc uintptr
DbgSsReserved [2]uintptr
HardErrorMode uint32
Padding4 [4]byte
Instrumentation [11]uintptr
ActivityId windows.GUID
SubProcessTag uintptr
PerflibData uintptr
EtwTraceData uintptr
WinSockData uintptr
GdiBatchCount uint32
IdealProcessor uint32
/*
union
{
struct _PROCESSOR_NUMBER CurrentIdealProcessor; //0x1744
ULONG IdealProcessorValue; //0x1744
struct
{
UCHAR ReservedPad0; //0x1744
UCHAR ReservedPad1; //0x1745
UCHAR ReservedPad2; //0x1746
UCHAR IdealProcessor; //0x1747
};
};
*/
GuaranteedStackBytes uint32
Padding5 [4]byte
ReservedForPerf uintptr
ReservedForOle uintptr
WaitingOnLoaderLock uint32
Padding6 [4]byte
SavedPriorityState uintptr
ReservedForCodeCoverage uint64
ThreadPoolData uintptr
TlsExpansionSlots *uintptr
ChpeV2CpuAreaInfo uintptr // _CHPEV2_CPUAREA_INFO*
Unused uintptr
MuiGeneration uint32
IsImpersonating uint32
NlsCache uintptr
ShimData uintptr
HeapData uint32
Padding7 [4]byte
CurrentTransactionHandle uintptr
ActiveFrame *TEB_ACTIVE_FRAME
FlsData uintptr
PreferredLanguages uintptr
UserPrefLanguages uintptr
MergedPrefLanguages uintptr
MuiImpersonation uint32
CrossTebFlag uint16
/*
union
{
volatile USHORT CrossTebFlags; //0x17ec
USHORT SpareCrossTebBits:16; //0x17ec
};
*/
SameTebFlags uint16
/*
union
{
USHORT SameTebFlags; //0x17ee
struct
{
USHORT SafeThunkCall:1; //0x17ee
USHORT InDebugPrint:1; //0x17ee
USHORT HasFiberData:1; //0x17ee
USHORT SkipThreadAttach:1; //0x17ee
USHORT WerInShipAssertCode:1; //0x17ee
USHORT RanProcessInit:1; //0x17ee
USHORT ClonedThread:1; //0x17ee
USHORT SuppressDebugMsg:1; //0x17ee
USHORT DisableUserStackWalk:1; //0x17ee
USHORT RtlExceptionAttached:1; //0x17ee
USHORT InitialThread:1; //0x17ee
USHORT SessionAware:1; //0x17ee
USHORT LoadOwner:1; //0x17ee
USHORT LoaderWorker:1; //0x17ee
USHORT SkipLoaderInit:1; //0x17ee
USHORT SkipFileAPIBrokering:1; //0x17ee
};
};
*/
TxnScopeEnterCallback uintptr
TxnScopeExitCallback uintptr
TxnScopeContext uintptr
LockCount uint32
WowTebOffset int32
ResourceRetValue uintptr
ReservedForWdf uintptr
ReservedForCrt uint64
EffectiveContainerId windows.GUID
LastSleepCounter uint64
SpinCallCount uint32
Padding8 [4]byte
ExtendedFeatureDisableMask uint64
// contains filtered or unexported fields
}
type TEB_ACTIVE_FRAME ¶
type TEB_ACTIVE_FRAME struct {
Flags uint32
Previous *TEB_ACTIVE_FRAME
Context *TEB_ACTIVE_FRAME_CONTEXT
}