HyperDbg Debugger
Loading...
Searching...
No Matches
InlineAsm.h
Go to the documentation of this file.
1
12#pragma once
13
14//
15// ==================== Vmx Operations ====================
16// File : AsmVmxOperation.asm
17//
18
23extern void inline AsmEnableVmxOperation();
24
29extern void inline AsmRestoreToVmxOffState();
30
40extern NTSTATUS inline AsmVmxVmcall(unsigned long long VmcallNumber,
41 unsigned long long OptionalParam1,
42 unsigned long long OptionalParam2,
43 long long OptionalParam3);
44
51extern void inline AsmHypervVmcall(unsigned long long GuestRegisters);
52
61extern unsigned long long inline AsmVmfunc(unsigned long EptpIndex, unsigned long Function);
62
63//
64// ==================== Vmx Context State Operations ====================
65// File : AsmVmxContextState.asm
66//
67
72extern void
74
79extern void
81
82//
83// ==================== Vmx VM-Exit Handler ====================
84// File : AsmVmexitHandler.asm
85//
86
91extern void
93
98extern void inline AsmSaveVmxOffState();
99
100//
101// ==================== Extended Page Tables ====================
102// File : AsmEpt.asm
103//
104
112extern unsigned char inline AsmInvept(unsigned long Type, void * Descriptors);
113
121extern unsigned char inline AsmInvvpid(unsigned long Type, void * Descriptors);
122
123//
124// ==================== Get segment registers ====================
125// File : AsmSegmentRegs.asm
126//
127
128/* ********* Segment registers ********* */
129
135extern unsigned short
137
143extern unsigned short
145
151extern unsigned short
153
159extern unsigned short
161
167extern unsigned short
169
175extern unsigned short
177
183extern unsigned short
185
191extern unsigned short
193
194/* ******* Gdt related functions ******* */
195
201extern unsigned long long inline AsmGetGdtBase();
202
208extern unsigned short
210
211/* ******* Idt related functions ******* */
212
218extern unsigned long long inline AsmGetIdtBase();
219
225extern unsigned short
227
228extern UINT32
230//
231// ==================== Common Functions ====================
232// File : AsmCommon.asm
233//
234
240extern unsigned short
242
247extern void inline AsmCliInstruction();
248
253extern void inline AsmStiInstruction();
254
261extern void
262AsmReloadGdtr(void * GdtBase, unsigned long GdtLimit);
263
270extern void
271AsmReloadIdtr(void * GdtBase, unsigned long GdtLimit);
272
273//
274// ==================== Hook Functions ====================
275// File : AsmHooks.asm
276//
277
282extern void
284
285//
286// ==================== Kernel Test Functions ====================
287// File : AsmKernelSideTests.asm
288//
289
294extern unsigned long long
295AsmTestWrapperWithTestTags(unsigned long long Param1,
296 unsigned long long Param2,
297 unsigned long long Param3,
298 unsigned long long Param4);
299
300//
301// ==================== Interrupt Handler Functions ====================
302// File : Interrupt Handlers.asm.asm
303//
304
309extern void
311
316extern void
318
323extern void
325
330extern void
332
337extern void
339
344extern void
346
351extern void
353
358extern void
360
365extern void
367
372extern void
374
379extern void
381
386extern void
388
393extern void
395
400extern void
402
407extern void
409
414extern void
416
421extern void
423
428extern void
430
435extern void
437
442extern void
444
449extern void
451
456extern void
458
463extern void
465
470extern void
472
477extern void
479
484extern void
486
491extern void
493
498extern void
500
505extern void
507
512extern void
514
519extern void
unsigned int UINT32
Definition BasicTypes.h:48
void AsmReloadIdtr(void *GdtBase, unsigned long GdtLimit)
Reload new IDTR.
NTSTATUS AsmVmxVmcall(unsigned long long VmcallNumber, unsigned long long OptionalParam1, unsigned long long OptionalParam2, long long OptionalParam3)
Request Vmcall.
unsigned long long AsmTestWrapperWithTestTags(unsigned long long Param1, unsigned long long Param2, unsigned long long Param3, unsigned long long Param4)
Tests with test tags wrapper.
unsigned short AsmGetGs()
Get GS Register.
void AsmVmexitHandler()
Vm-exit handler.
void AsmEnableVmxOperation()
Enable VMX Operation.
unsigned short AsmGetTr()
Get TR Register.
unsigned short AsmGetDs()
Get DS Register.
void InterruptHandler11()
The 11th entry in IDT.
void InterruptHandler15()
The 15th entry in IDT.
unsigned short AsmGetSs()
Get SS Register.
void InterruptHandler27()
The 27th entry in IDT.
void AsmVmxSaveState()
Save state on vmx.
void InterruptHandler7()
The 7th entry in IDT.
void InterruptHandler8()
The 8th entry in IDT.
void InterruptHandler29()
The 29th entry in IDT.
void InterruptHandler13()
The 13th entry in IDT.
unsigned short AsmGetGdtLimit()
Get GDT Limit.
void InterruptHandler23()
The 23rd entry in IDT.
unsigned long long AsmGetIdtBase()
Get IDT base.
unsigned short AsmGetLdtr()
Get LDTR Register.
void InterruptHandler14()
The 14th entry in IDT.
void InterruptHandler25()
The 25th entry in IDT.
void InterruptHandler21()
The 21st entry in IDT.
void InterruptHandler4()
The 4th entry in IDT.
void InterruptHandler28()
The 28th entry in IDT.
void InterruptHandler30()
The 30th entry in IDT.
unsigned short AsmGetCs()
Get CS Register.
void InterruptHandler5()
The 5th entry in IDT.
void AsmStiInstruction()
Run STI Instruction.
unsigned short AsmGetFs()
Get FS Register.
void InterruptHandler24()
The 24th entry in IDT.
void InterruptHandler0()
The 0th entry in IDT.
unsigned short AsmGetEs()
Get ES Register.
void InterruptHandler9()
The 9th entry in IDT.
void AsmRestoreToVmxOffState()
Restore in vmxoff state.
void InterruptHandler18()
The 18th entry in IDT.
unsigned long long AsmGetGdtBase()
get GDT base
unsigned short AsmGetRflags()
Get R/EFLAGS.
void InterruptHandler3()
The 3rd entry in IDT.
void AsmVmxRestoreState()
Restore state on vmx.
void InterruptHandler20()
The 20th entry in IDT.
void InterruptHandler16()
The 16th entry in IDT.
unsigned char AsmInvept(unsigned long Type, void *Descriptors)
INVEPT wrapper.
void InterruptHandler22()
The 22nd entry in IDT.
void AsmHypervVmcall(unsigned long long GuestRegisters)
Hyper-v vmcall handler.
void InterruptHandler10()
The 10th entry in IDT.
void AsmGeneralDetourHook(void)
Detour hook handler.
void InterruptHandler6()
The 6th entry in IDT.
unsigned long long AsmVmfunc(unsigned long EptpIndex, unsigned long Function)
VMFUNC instruction.
void InterruptHandler19()
The 19th entry in IDT.
void AsmSaveVmxOffState()
Save vmxoff state.
void AsmReloadGdtr(void *GdtBase, unsigned long GdtLimit)
Reload new GDTR.
void InterruptHandler26()
The 26th entry in IDT.
void InterruptHandler2()
The 2nd entry in IDT.
unsigned short AsmGetIdtLimit()
Get IDT limit.
UINT32 AsmGetAccessRights(unsigned short Selector)
void InterruptHandler1()
The 1st entry in IDT.
unsigned char AsmInvvpid(unsigned long Type, void *Descriptors)
INVVPID wrapper.
void InterruptHandler17()
The 17th entry in IDT.
void InterruptHandler12()
The 12th entry in IDT.
void AsmCliInstruction()
Run CLI Instruction.
_In_ UINT16 Selector
Definition Segmentation.h:50