HyperDbg Debugger
Loading...
Searching...
No Matches
HardwareDebugger.h
Go to the documentation of this file.
1
13#pragma once
14
16// Definitions //
18
23#define DEFAULT_INITIAL_DEBUGGEE_TO_DEBUGGER_OFFSET 0x200
24
29#define DEFAULT_INITIAL_DEBUGGER_TO_DEBUGGEE_OFFSET 0x0
30
32// Enums //
34
46
58
70
72// Structures //
74
84
89#pragma pack(push, 4) // This is to make sure the structure is packed (without padding alignment)
91{
92 //
93 // ANY ADDITION TO THIS STRUCTURE SHOULD BE SYNCHRONIZED WITH SCALA AND INSTANCE INFO SENDER MODULE
94 //
95 UINT32 version; // Target version of HyperDbg (same as hwdbg)
96 UINT32 maximumNumberOfStages; // Number of stages that this instance of hwdbg supports (NumberOfSupportedStages == 0 means script engine is disabled)
97 UINT32 scriptVariableLength; // Maximum length of variables (and other script elements)
98 UINT32 numberOfSupportedLocalAndGlobalVariables; // Number of supported local (and global) variables
99 UINT32 numberOfSupportedTemporaryVariables; // Number of supported temporary variables
100 UINT32 maximumNumberOfSupportedGetScriptOperators; // Maximum supported GET operators in a single func
101 UINT32 maximumNumberOfSupportedSetScriptOperators; // Maximum supported SET operators in a single func
102 UINT32 sharedMemorySize; // Size of shared memory
103 UINT32 debuggerAreaOffset; // The memory offset of debugger
104 UINT32 debuggeeAreaOffset; // The memory offset of debuggee
105 UINT32 numberOfPins; // Number of pins
106 UINT32 numberOfPorts; // Number of ports
107
108 //
109 // ANY ADDITION TO THIS STRUCTURE SHOULD BE SYNCHRONIZED WITH SCALA AND INSTANCE INFO SENDER MODULE
110 //
111
113 {
114 //
115 // ANY ADDITION TO THIS MASK SHOULD BE ADDED TO HwdbgInterpreterShowScriptCapabilities
116 // and HwdbgInterpreterCheckScriptBufferWithScriptCapabilities as well Scala file
117 //
122
144
145 //
146 // ANY ADDITION TO THIS MASK SHOULD BE ADDED TO HwdbgInterpreterShowScriptCapabilities
147 // and HwdbgInterpreterCheckScriptBufferWithScriptCapabilities as well Scala file
148 //
149
151
152 UINT32 bramAddrWidth; // BRAM address width
153 UINT32 bramDataWidth; // BRAM data width
154
155 //
156 // Here the details of port arrangements are located (HWDBG_PORT_INFORMATION_ITEMS)
157 // As the following type:
158 // HWDBG_PORT_INFORMATION_ITEMS portsConfiguration[numberOfPorts] ; Port arrangement
159 //
160
162#pragma pack(pop) // This is to make sure the structure is packed (without padding alignment)
163
169{
170 UINT32 scriptNumberOfSymbols; // Number of symbols in the script
171
172 //
173 // Here the script buffer is located
174 //
175 // UINT8 scriptBuffer[scriptNumberOfSymbols]; // The script buffer
176 //
177
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
_HWDBG_ACTION_ENUMS
Different action of hwdbg.
Definition HardwareDebugger.h:41
@ hwdbgActionSendInstanceInfo
Definition HardwareDebugger.h:42
@ hwdbgActionConfigureScriptBuffer
Definition HardwareDebugger.h:43
enum _HWDBG_RESPONSE_ENUMS HWDBG_RESPONSE_ENUMS
Different responses come from hwdbg.
struct _HWDBG_PORT_INFORMATION_ITEMS * PHWDBG_PORT_INFORMATION_ITEMS
_HWDBG_SUCCESS_OR_ERROR_ENUMS
Different success or error codes in hwdbg.
Definition HardwareDebugger.h:65
@ hwdbgOperationWasSuccessful
Definition HardwareDebugger.h:66
@ hwdbgErrorInvalidPacket
Definition HardwareDebugger.h:67
struct _HWDBG_SCRIPT_BUFFER * PHWDBG_SCRIPT_BUFFER
struct _HWDBG_INSTANCE_INFORMATION HWDBG_INSTANCE_INFORMATION
The structure of script capabilities information in hwdbg.
struct _HWDBG_INSTANCE_INFORMATION * PHWDBG_INSTANCE_INFORMATION
enum _HWDBG_SUCCESS_OR_ERROR_ENUMS HWDBG_SUCCESS_OR_ERROR_ENUMS
Different success or error codes in hwdbg.
struct _HWDBG_PORT_INFORMATION_ITEMS HWDBG_PORT_INFORMATION_ITEMS
The structure of port information (each item) in hwdbg.
_HWDBG_RESPONSE_ENUMS
Different responses come from hwdbg.
Definition HardwareDebugger.h:53
@ hwdbgResponseSuccessOrErrorMessage
Definition HardwareDebugger.h:54
@ hwdbgResponseInstanceInfo
Definition HardwareDebugger.h:55
struct _HWDBG_SCRIPT_BUFFER HWDBG_SCRIPT_BUFFER
The structure of script buffer in hwdbg.
enum _HWDBG_ACTION_ENUMS HWDBG_ACTION_ENUMS
Different action of hwdbg.
UINT64 func_or
Definition HardwareDebugger.h:123
UINT64 func_mov
Definition HardwareDebugger.h:142
UINT64 func_div
Definition HardwareDebugger.h:131
UINT64 assign_registers
Definition HardwareDebugger.h:119
UINT64 assign_local_global_var
Definition HardwareDebugger.h:118
UINT64 func_printf
Definition HardwareDebugger.h:143
UINT64 func_sub
Definition HardwareDebugger.h:129
UINT64 assign_pseudo_registers
Definition HardwareDebugger.h:120
UINT64 func_mul
Definition HardwareDebugger.h:130
UINT64 func_elt
Definition HardwareDebugger.h:136
UINT64 func_and
Definition HardwareDebugger.h:125
UINT64 func_gt
Definition HardwareDebugger.h:133
UINT64 func_jnz
Definition HardwareDebugger.h:141
UINT64 func_equal
Definition HardwareDebugger.h:137
UINT64 func_neq
Definition HardwareDebugger.h:138
UINT64 conditional_statements_and_comparison_operators
Definition HardwareDebugger.h:121
UINT64 func_jmp
Definition HardwareDebugger.h:139
UINT64 func_lt
Definition HardwareDebugger.h:134
UINT64 func_xor
Definition HardwareDebugger.h:124
UINT64 func_add
Definition HardwareDebugger.h:128
UINT64 func_asl
Definition HardwareDebugger.h:127
UINT64 func_egt
Definition HardwareDebugger.h:135
UINT64 func_mod
Definition HardwareDebugger.h:132
UINT64 func_jz
Definition HardwareDebugger.h:140
UINT64 func_asr
Definition HardwareDebugger.h:126
The structure of script capabilities information in hwdbg.
Definition HardwareDebugger.h:91
UINT32 version
Definition HardwareDebugger.h:95
UINT32 sharedMemorySize
Definition HardwareDebugger.h:102
UINT32 maximumNumberOfSupportedGetScriptOperators
Definition HardwareDebugger.h:100
UINT32 debuggeeAreaOffset
Definition HardwareDebugger.h:104
UINT32 numberOfSupportedLocalAndGlobalVariables
Definition HardwareDebugger.h:98
UINT32 debuggerAreaOffset
Definition HardwareDebugger.h:103
struct _HWDBG_INSTANCE_INFORMATION::_HWDBG_SCRIPT_CAPABILITIES scriptCapabilities
UINT32 maximumNumberOfStages
Definition HardwareDebugger.h:96
UINT32 numberOfSupportedTemporaryVariables
Definition HardwareDebugger.h:99
UINT32 numberOfPorts
Definition HardwareDebugger.h:106
UINT32 bramAddrWidth
Definition HardwareDebugger.h:152
UINT32 maximumNumberOfSupportedSetScriptOperators
Definition HardwareDebugger.h:101
UINT32 bramDataWidth
Definition HardwareDebugger.h:153
UINT32 numberOfPins
Definition HardwareDebugger.h:105
UINT32 scriptVariableLength
Definition HardwareDebugger.h:97
The structure of port information (each item) in hwdbg.
Definition HardwareDebugger.h:80
UINT32 PortSize
Definition HardwareDebugger.h:81
The structure of script buffer in hwdbg.
Definition HardwareDebugger.h:169
UINT32 scriptNumberOfSymbols
Definition HardwareDebugger.h:170