|
HyperDbg Debugger
|
Header files for common functions. More...
Go to the source code of this file.
Classes | |
| struct | _CPUID |
| CPUID Registers. More... | |
| union | _CR_FIXED |
| struct | _NT_KPROCESS |
| KPROCESS Brief structure. More... | |
Macros | |
| #define | __CPU_INDEX__ KeGetCurrentProcessorNumberEx(NULL) |
| Core Id. | |
| #define | ALIGNMENT_PAGE_SIZE 4096 |
| Alignment Size. | |
| #define | MAXIMUM_ADDRESS 0xffffffffffffffff |
| Maximum x64 Address. | |
| #define | DPL_USER 3 |
| System and User ring definitions. | |
| #define | DPL_SYSTEM 0 |
| #define | RPL_MASK 3 |
| RPL Mask. | |
| #define | BITS_PER_LONG (sizeof(ULONG) * 8) |
| #define | ORDER_LONG (sizeof(ULONG) == 4 ? 5 : 6) |
| #define | BITMAP_ENTRY(_nr, _bmap) |
| #define | BITMAP_SHIFT(_nr) |
| #define | PAGE_OFFSET(Va) |
| Offset from a page's 4096 bytes. | |
| #define | _XBEGIN_STARTED (~0u) |
| Intel TSX Constants. | |
| #define | _XABORT_EXPLICIT (1 << 0) |
| #define | _XABORT_RETRY (1 << 1) |
| #define | _XABORT_CONFLICT (1 << 2) |
| #define | _XABORT_CAPACITY (1 << 3) |
| #define | _XABORT_DEBUG (1 << 4) |
| #define | _XABORT_NESTED (1 << 5) |
| #define | _XABORT_CODE(x) |
Typedefs | |
| typedef SEGMENT_DESCRIPTOR_32 * | PSEGMENT_DESCRIPTOR |
| typedef struct _CPUID | CPUID |
| CPUID Registers. | |
| typedef struct _CPUID * | PCPUID |
| typedef union _CR_FIXED | CR_FIXED |
| typedef union _CR_FIXED * | PCR_FIXED |
| typedef struct _NT_KPROCESS | NT_KPROCESS |
| KPROCESS Brief structure. | |
| typedef struct _NT_KPROCESS * | PNT_KPROCESS |
| typedef VOID(* | RunOnLogicalCoreFunc) (ULONG ProcessorId) |
| Prototype to run a function on a logical core. | |
Functions | |
| UCHAR * | PsGetProcessImageFileName (IN PEPROCESS Process) |
| BOOLEAN | CommonAffinityBroadcastToProcessors (_In_ ULONG ProcessorNumber, _In_ RunOnLogicalCoreFunc Routine) |
| BOOLEAN | CommonIsStringStartsWith (const CHAR *pre, const CHAR *str) |
| Detects whether the string starts with another string. | |
| BOOLEAN | CommonIsGuestOnUsermode32Bit () |
| determines if the guest was in 32-bit user-mode or 64-bit (long mode) | |
| PCHAR | CommonGetProcessNameFromProcessControlBlock (PEPROCESS eprocess) |
| Get process name by eprocess. | |
| VOID | CommonCpuidInstruction (UINT32 Func, UINT32 SubFunc, INT *CpuInfo) |
| Get cpuid results. | |
| VOID | CommonWriteDebugInformation (VIRTUAL_MACHINE_STATE *VCpu) |
| Produce debug information from unrecoverable bugs. | |
| BOOLEAN | CommonIsXCr0Valid (XCR0 XCr0) |
| Check correctness of the XCR0 register value. | |
Header files for common functions.
| #define __CPU_INDEX__ KeGetCurrentProcessorNumberEx(NULL) |
Core Id.
| #define _XABORT_CAPACITY (1 << 3) |
| #define _XABORT_CONFLICT (1 << 2) |
| #define _XABORT_DEBUG (1 << 4) |
| #define _XABORT_EXPLICIT (1 << 0) |
| #define _XABORT_NESTED (1 << 5) |
| #define _XABORT_RETRY (1 << 1) |
| #define _XBEGIN_STARTED (~0u) |
Intel TSX Constants.
| #define ALIGNMENT_PAGE_SIZE 4096 |
Alignment Size.
| #define BITMAP_ENTRY | ( | _nr, | |
| _bmap ) |
| #define BITMAP_SHIFT | ( | _nr | ) |
| #define BITS_PER_LONG (sizeof(ULONG) * 8) |
| #define DPL_SYSTEM 0 |
| #define DPL_USER 3 |
System and User ring definitions.
| #define MAXIMUM_ADDRESS 0xffffffffffffffff |
Maximum x64 Address.
| #define ORDER_LONG (sizeof(ULONG) == 4 ? 5 : 6) |
| #define PAGE_OFFSET | ( | Va | ) |
| #define RPL_MASK 3 |
RPL Mask.
| typedef struct _NT_KPROCESS NT_KPROCESS |
KPROCESS Brief structure.
| typedef struct _NT_KPROCESS * PNT_KPROCESS |
| typedef SEGMENT_DESCRIPTOR_32* PSEGMENT_DESCRIPTOR |
| typedef VOID(* RunOnLogicalCoreFunc) (ULONG ProcessorId) |
Prototype to run a function on a logical core.
| BOOLEAN CommonAffinityBroadcastToProcessors | ( | _In_ ULONG | ProcessorNumber, |
| _In_ RunOnLogicalCoreFunc | Routine ) |
Get cpuid results.
| Func | |
| SubFunc | |
| CpuInfo |
| PCHAR CommonGetProcessNameFromProcessControlBlock | ( | PEPROCESS | Eprocess | ) |
Get process name by eprocess.
| Eprocess | Process eprocess |
| BOOLEAN CommonIsGuestOnUsermode32Bit | ( | ) |
determines if the guest was in 32-bit user-mode or 64-bit (long mode)
this function should be called from vmx-root
| BOOLEAN CommonIsXCr0Valid | ( | XCR0 | XCr0 | ) |
Check correctness of the XCR0 register value.
| XCr0 | The XCR0 register value. |
| VOID CommonWriteDebugInformation | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
Produce debug information from unrecoverable bugs.
| VCpu | The virtual processor's state |
| UCHAR * PsGetProcessImageFileName | ( | IN PEPROCESS | Process | ) |