116{
120 UINT64 UsedBaseAddress =
NULL;
121
122
123
124
125 if (CommandTokens.size() == 1)
126 {
127 ShowAllEntries =
TRUE;
128 }
129 else if (CommandTokens.size() == 2)
130 {
131 ShowAllEntries =
FALSE;
132
133
134
135
137 {
138 ShowMessages("err, invalid IDT entry number\n");
139 return;
140 }
141
143 {
144 ShowMessages("err, invalid IDT entry number\n");
145 return;
146 }
147 }
148 else
149 {
150 ShowMessages("incorrect use of the '%s'\n\n",
152
154 return;
155 }
156
157
158
159
161
162 if (IdtPacket == NULL)
163 {
164 ShowMessages("err, allocating buffer for receiving IDT entries");
165 }
166
168
169
170
171
173 {
174
175
176
177 if (ShowAllEntries)
178 {
179 ShowMessages("IDT Entries:\n\n");
180
182 {
183 ShowMessages("IDT[0x%x:%d]\t: %s\t",
184 i,
185 i,
187
188
189
190
192 {
193
194
195
197 {
198
199
200
201 }
202 }
203
204 ShowMessages("\n");
205 }
206 }
207 else
208 {
209 ShowMessages("IDT[0x%x:%d] : %s\t",
210 IdtEntry,
211 IdtEntry,
213
214
215
216
218 {
219
220
221
223 {
224
225
226
227 }
228
229 ShowMessages("\n");
230 }
231 }
232 }
233
234
235
236
237 free(IdtPacket);
238}
string SeparateTo64BitValue(UINT64 Value)
std::string GetCaseSensitiveStringFromCommandToken(CommandToken TargetToken)
Get case sensitive string from command token.
Definition common.cpp:467
BOOLEAN ConvertTokenToUInt32(CommandToken TargetToken, PUINT32 Result)
check and convert command token to a 32 bit unsigned integer
Definition common.cpp:546
BOOLEAN HyperDbgGetIdtEntry(INTERRUPT_DESCRIPTOR_TABLE_ENTRIES_PACKETS *IdtPacket)
Send IDT entry requests.
Definition idt.cpp:46
VOID CommandIdtHelp()
help of the !idt command
Definition idt.cpp:27
NULL()
Definition test-case-generator.py:530
BOOLEAN g_AddressConversion
Whether converting addresses to object names or not.
Definition globals.h:594
UINT64 IdtEntry[MAX_NUMBER_OF_IDT_ENTRIES]
Definition RequestStructures.h:1466
BOOLEAN SymbolShowFunctionNameBasedOnAddress(UINT64 Address, PUINT64 UsedBaseAddress)
shows the functions' name for the disassembler
Definition symbol.cpp:161