HyperDbg Debugger
Loading...
Searching...
No Matches
ScriptEngineInternalHeader.h
Go to the documentation of this file.
1
13#pragma once
14
16// Registers //
18
21
23// Pseudo-registers //
25
28
31
34
35CHAR *
37
40
43
46
49
52
54ScriptEnginePseudoRegGetBuffer(UINT64 * CorrespondingAction);
55
58
61
64
67
70
72// Keywords //
74
77
78WORD
80
81WORD
83
84BYTE
86
89
90WORD
92
95
97// Functions //
99
102
105
108
111
112VOID
113ScriptEngineFunctionMemcpy(UINT64 Destination, UINT64 Source, UINT32 Num, BOOL * HasError);
114
115UINT64
117
118UINT64
120
121VOID
122ScriptEngineFunctionPrint(UINT64 Tag, BOOLEAN ImmediateMessagePassing, UINT64 Value);
123
124VOID
126
127VOID
128ScriptEngineFunctionSpinlockLock(volatile LONG * Lock, BOOL * HasError);
129
130VOID
131ScriptEngineFunctionSpinlockUnlock(volatile LONG * Lock, BOOL * HasError);
132
133VOID
134ScriptEngineFunctionSpinlockLockCustomWait(volatile long * Lock, unsigned MaxWait, BOOL * HasError);
135
136UINT64
138
139UINT64
141
142UINT64
143ScriptEngineFunctionWcslen(const wchar_t * Address);
144
145long long
146ScriptEngineFunctionInterlockedExchange(long long volatile * Target,
147 long long Value,
148 BOOL * HasError);
149
150long long
151ScriptEngineFunctionInterlockedExchangeAdd(long long volatile * Addend,
152 long long Value,
153 BOOL * HasError);
154
155long long
156ScriptEngineFunctionInterlockedIncrement(long long volatile * Addend,
157 BOOL * HasError);
158
159long long
160ScriptEngineFunctionInterlockedDecrement(long long volatile * Addend,
161 BOOL * HasError);
162
163long long
165 long long volatile * Destination,
166 long long ExChange,
167 long long Comperand,
168 BOOL * HasError);
169
170VOID
172
173VOID
175
176VOID
178
179VOID
181 ACTION_BUFFER * ActionDetail,
182 PGUEST_REGS GuestRegs);
183
184VOID
186
187VOID
189
190VOID
191ScriptEngineFunctionFormats(UINT64 Tag, BOOLEAN ImmediateMessagePassing, UINT64 Value);
192
193VOID
195 ACTION_BUFFER * ActionDetail,
196 SCRIPT_ENGINE_VARIABLES_LIST * VariablesList,
197 UINT64 Tag,
198 BOOLEAN ImmediateMessagePassing,
199 char * Format,
200 UINT64 ArgCount,
201 PSYMBOL FirstArg,
202 BOOLEAN * HasError,
203 SYMBOL_BUFFER * StackBuffer,
204 UINT64 * StackIndx,
205 UINT64 * StackBaseIndx,
206 UINT64 * ReturnValue);
207
208VOID
209ScriptEngineFunctionEventInject(UINT32 InterruptionType, UINT32 Vector, BOOL * HasError);
210
211VOID
212ScriptEngineFunctionEventInjectErrorCode(UINT32 InterruptionType, UINT32 Vector, UINT32 ErrorCode, BOOL * HasError);
213
214VOID
216
217VOID
219
220UINT64
221ScriptEngineFunctionStrcmp(const char * Address1, const char * Address2);
222
223UINT64
224ScriptEngineFunctionStrncmp(const char * Address1, const char * Address2, size_t Num);
225
226UINT64
227ScriptEngineFunctionWcscmp(const wchar_t * Address1, const wchar_t * Address2);
228
229UINT64
230ScriptEngineFunctionWcsncmp(const wchar_t * Address1, const wchar_t * Address2, size_t Num);
231
232UINT64
233ScriptEngineFunctionMemcmp(const char * Address1, const char * Address2, size_t Count);
int BOOL
Definition BasicTypes.h:23
unsigned short WORD
Definition BasicTypes.h:25
UCHAR BOOLEAN
Definition BasicTypes.h:39
unsigned char BYTE
Definition BasicTypes.h:24
unsigned long long QWORD
Definition BasicTypes.h:20
#define VOID
Definition BasicTypes.h:33
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned long DWORD
Definition BasicTypes.h:22
unsigned __int64 * PUINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
POOL_TYPE SIZE_T ULONG Tag
Definition Hooks.h:168
UINT64 Address
Definition HyperDbgScriptImports.h:67
long long ScriptEngineFunctionInterlockedIncrement(long long volatile *Addend, BOOL *HasError)
Implementation of interlocked_exchange_increment function.
Definition Functions.c:628
UINT64 ScriptEnginePseudoRegGetProc()
Implementation of $proc pseudo-register.
Definition PseudoRegisters.c:125
CHAR * ScriptEnginePseudoRegGetPname()
Implementation of $pname pseudo-register.
Definition PseudoRegisters.c:76
UINT64 ScriptEnginePseudoRegGetThread()
Implementation of $thread pseudo-register.
Definition PseudoRegisters.c:142
VOID ScriptEngineFunctionEventTraceInstrumentationStep()
Implementation of event_trace_instrumentation_step function.
Definition Functions.c:1693
VOID ScriptEngineFunctionSpinlockUnlock(volatile LONG *Lock, BOOL *HasError)
Implementation of spinlock_unlock function.
Definition Functions.c:443
UINT64 ScriptEnginePseudoRegGetCore()
Implementation of $core pseudo-register.
Definition PseudoRegisters.c:42
UINT64 ScriptEnginePseudoRegGetDate()
Implementation of date pseudo-register.
Definition PseudoRegisters.c:422
VOID ScriptEngineFunctionEventInjectErrorCode(UINT32 InterruptionType, UINT32 Vector, UINT32 ErrorCode, BOOL *HasError)
Implementation of event_inject_error_code function.
Definition Functions.c:1542
long long ScriptEngineFunctionInterlockedDecrement(long long volatile *Addend, BOOL *HasError)
Implementation of interlocked_exchange_decrement function.
Definition Functions.c:656
UINT64 ScriptEnginePseudoRegGetTime()
Implementation of time pseudo-register.
Definition PseudoRegisters.c:401
UINT64 ScriptEnginePseudoRegGetEventStage(PACTION_BUFFER ActionBuffer)
Implementation of stage pseudo-register.
Definition PseudoRegisters.c:384
WORD ScriptEngineKeywordDw(PUINT64 Address, BOOL *HasError)
Implementation of dw keyword.
Definition Keywords.c:197
BYTE ScriptEngineKeywordDb(PUINT64 Address, BOOL *HasError)
Implementation of db keyword.
Definition Keywords.c:129
WORD ScriptEngineKeywordLow(PUINT64 Address, BOOL *HasError)
Implementation of low keyword.
Definition Keywords.c:95
BOOLEAN ScriptEngineFunctionEd(UINT64 Address, DWORD Value, BOOL *HasError)
Implementation of ed function.
Definition Functions.c:91
UINT64 ScriptEnginePseudoRegGetIp()
Implementation of $ip pseudo-register.
Definition PseudoRegisters.c:306
UINT64 ScriptEngineKeywordPoi(PUINT64 Address, BOOL *HasError)
Implementation of poi keyword.
Definition Keywords.c:27
UINT64 ScriptEngineFunctionPhysicalToVirtual(UINT64 Address)
Convert physical address to virtual address.
Definition Functions.c:338
WORD ScriptEngineKeywordHi(PUINT64 Address, BOOL *HasError)
Implementation of hi keyword.
Definition Keywords.c:61
UINT64 ScriptEnginePseudoRegGetPeb()
Implementation of $peb pseudo-register.
Definition PseudoRegisters.c:159
VOID ScriptEngineFunctionShortCircuitingEvent(UINT64 State, ACTION_BUFFER *ActionDetail)
Implementation of event_ignore function.
Definition Functions.c:891
VOID ScriptEngineFunctionSpinlockLock(volatile LONG *Lock, BOOL *HasError)
Implementation of spinlock_lock function.
Definition Functions.c:414
VOID ScriptEngineFunctionPause(ACTION_BUFFER *ActionDetail, PGUEST_REGS GuestRegs)
Implementation of pause function.
Definition Functions.c:792
DWORD ScriptEngineKeywordDd(PUINT64 Address, BOOL *HasError)
Implementation of dd keyword.
Definition Keywords.c:163
UINT64 ScriptEngineFunctionStrcmp(const char *Address1, const char *Address2)
Implementation of strcmp function.
Definition Functions.c:1579
BOOLEAN ScriptEngineFunctionCheckAddress(UINT64 Address, UINT32 Length)
Check whether the address is valid or not.
Definition Functions.c:168
UINT64 ScriptEngineFunctionWcscmp(const wchar_t *Address1, const wchar_t *Address2)
Implementation of wcscmp function.
Definition Functions.c:1626
long long ScriptEngineFunctionInterlockedExchange(long long volatile *Target, long long Value, BOOL *HasError)
Implementation of interlocked_exchange function.
Definition Functions.c:569
UINT64 ScriptEngineFunctionVirtualToPhysical(UINT64 Address)
Definition Functions.c:314
UINT64 ScriptEngineFunctionWcsncmp(const wchar_t *Address1, const wchar_t *Address2, size_t Num)
Implementation of wcsncmp function.
Definition Functions.c:1650
BOOLEAN SetRegValueUsingSymbol(PGUEST_REGS GuestRegs, PSYMBOL Symbol, UINT64 Value)
Set the register value.
Definition Regs.c:1993
VOID ScriptEngineFunctionPrintf(PGUEST_REGS GuestRegs, ACTION_BUFFER *ActionDetail, SCRIPT_ENGINE_VARIABLES_LIST *VariablesList, UINT64 Tag, BOOLEAN ImmediateMessagePassing, char *Format, UINT64 ArgCount, PSYMBOL FirstArg, BOOLEAN *HasError, SYMBOL_BUFFER *StackBuffer, UINT64 *StackIndx, UINT64 *StackBaseIndx, UINT64 *ReturnValue)
Implementation of printf function.
Definition Functions.c:1270
VOID ScriptEngineFunctionSpinlockLockCustomWait(volatile long *Lock, unsigned MaxWait, BOOL *HasError)
Implementation of spinlock_lock_custom_wait function.
Definition Functions.c:473
VOID ScriptEngineFunctionEventDisable(UINT64 EventId)
Implementation of event_disable function.
Definition Functions.c:739
VOID ScriptEngineFunctionEventEnable(UINT64 EventId)
Implementation of event_enable function.
Definition Functions.c:717
UINT64 ScriptEngineFunctionDisassembleLen(PVOID Address, BOOLEAN Is32Bit)
Implementation of disassemble_len function.
Definition Functions.c:524
UINT64 ScriptEngineFunctionStrlen(const char *Address)
Implementation of strlen function.
Definition Functions.c:501
long long ScriptEngineFunctionInterlockedCompareExchange(long long volatile *Destination, long long ExChange, long long Comperand, BOOL *HasError)
Implementation of interlocked_compare_exchange function.
Definition Functions.c:686
UINT64 ScriptEnginePseudoRegGetBuffer(UINT64 *CorrespondingAction)
Implementation of $buffer pseudo-register.
Definition PseudoRegisters.c:327
BOOLEAN ScriptEngineFunctionEq(UINT64 Address, QWORD Value, BOOL *HasError)
Implementation of eq function.
Definition Functions.c:52
VOID ScriptEngineFunctionFlush()
Implementation of flush function.
Definition Functions.c:866
UINT64 ScriptEngineFunctionMemcmp(const char *Address1, const char *Address2, size_t Count)
Implementation of memcmp function.
Definition Functions.c:1673
UINT64 ScriptEngineFunctionWcslen(const wchar_t *Address)
Implementation of wcslen function.
Definition Functions.c:545
QWORD ScriptEngineKeywordDq(PUINT64 Address, BOOL *HasError)
Implementation of dq keyword.
Definition Keywords.c:231
VOID ScriptEngineFunctionPrint(UINT64 Tag, BOOLEAN ImmediateMessagePassing, UINT64 Value)
Implementation of print function.
Definition Functions.c:364
UINT64 ScriptEnginePseudoRegGetTeb()
Implementation of $teb pseudo-register.
Definition PseudoRegisters.c:289
VOID ScriptEngineFunctionEventInject(UINT32 InterruptionType, UINT32 Vector, BOOL *HasError)
Implementation of event_inject function.
Definition Functions.c:1504
UINT64 ScriptEnginePseudoRegGetTid()
Implementation of $tid pseudo-register.
Definition PseudoRegisters.c:25
VOID ScriptEngineFunctionEventClear(UINT64 EventId)
Implementation of event_clear function.
Definition Functions.c:761
VOID ScriptEngineFunctionEventTraceStepIn()
Implementation of event_trace_step_in function.
Definition Functions.c:1717
UINT64 ScriptEnginePseudoRegGetPid()
Implementation of $pid pseudo-register.
Definition PseudoRegisters.c:59
UINT64 ScriptEnginePseudoRegGetEventTag(PACTION_BUFFER ActionBuffer)
Implementation of $tag pseudo-register.
Definition PseudoRegisters.c:348
BOOLEAN ScriptEngineFunctionEb(UINT64 Address, BYTE Value, BOOL *HasError)
Implementation of eb function.
Definition Functions.c:130
VOID ScriptEngineFunctionTestStatement(UINT64 Tag, BOOLEAN ImmediateMessagePassing, UINT64 Value)
Implementation of test_statement function.
Definition Functions.c:392
UINT64 ScriptEngineFunctionStrncmp(const char *Address1, const char *Address2, size_t Num)
Implementation of strcmp function.
Definition Functions.c:1603
UINT64 ScriptEnginePseudoRegGetEventId(PACTION_BUFFER ActionBuffer)
Implementation of $id pseudo-register.
Definition PseudoRegisters.c:366
long long ScriptEngineFunctionInterlockedExchangeAdd(long long volatile *Addend, long long Value, BOOL *HasError)
Implementation of interlocked_exchange_add function.
Definition Functions.c:599
VOID ScriptEngineFunctionFormats(UINT64 Tag, BOOLEAN ImmediateMessagePassing, UINT64 Value)
Implementation of formats function.
Definition Functions.c:929
VOID ScriptEngineFunctionMemcpy(UINT64 Destination, UINT64 Source, UINT32 Num, BOOL *HasError)
A VMX-compatible equivalent of memcpy function in C.
Definition Functions.c:201
RequestedActionOfThePacket Value(0x1) 00000000
List of different variables.
Definition BasicTypes.h:118
Definition ScriptEngineCommonDefinitions.h:34
Definition BasicTypes.h:70
Definition ScriptEngineCommonDefinitions.h:21
Definition ScriptEngineCommonDefinitions.h:6