Create hwdbg script.
236{
237 UINT32 NumberOfStagesForScript = 0;
238 UINT32 NumberOfOperandsImplemented = 0;
239 UINT32 NumberOfOperandsForScript = 0;
240 SIZE_T NewCompressedBufferSize = 0;
241 SIZE_T NumberOfNeededFlipFlopsInTargetDevice = 0;
242 SIZE_T NumberOfBytesPerChunk = 0;
244
245
246
247
249 ScriptBuffer,
250 ScriptBufferSize /
sizeof(
SYMBOL),
251 &NumberOfStagesForScript,
252 &NumberOfOperandsForScript,
253 &NumberOfOperandsImplemented))
254 {
255 ShowMessages("\n[-] target script is NOT supported by this instance of hwdbg!\n");
257 }
258 else
259 {
260 ShowMessages("\n[+] target script is supported by this instance of hwdbg!\n");
261 }
262
263
264
265
268 ScriptBufferSize,
269 NumberOfStagesForScript,
270 &NewScriptBuffer,
271 &NewCompressedBufferSize,
272 &NumberOfBytesPerChunk))
273 {
274 ShowMessages("err, unable to compress the script buffer\n");
276 }
277
278
279
280
282 NewCompressedBufferSize,
283 NumberOfStagesForScript,
284 NumberOfOperandsForScript,
285 NewScriptBuffer,
286 NumberOfNeededFlipFlopsInTargetDevice,
287 NumberOfBytesPerChunk,
288 NumberOfOperandsImplemented);
289
290
291
292
293
294
295
296
298 HardwareScriptFilePathToSave,
299 NumberOfStagesForScript,
300 NumberOfOperandsImplemented,
301 NewScriptBuffer,
302 NewCompressedBufferSize))
303 {
304 ShowMessages("err, unable to write script buffer\n");
306 }
307
308
309
310
311
312
313
314
315 if (NewScriptBuffer != NULL)
316 {
318 }
319
320
321
322
324}
IMPORT_EXPORT_HYPERDBG_SCRIPT_ENGINE BOOLEAN HardwareScriptInterpreterCheckScriptBufferWithScriptCapabilities(HWDBG_INSTANCE_INFORMATION *InstanceInfo, PVOID ScriptBuffer, UINT32 CountOfScriptSymbolChunks, UINT32 *NumberOfStages, UINT32 *NumberOfOperands, UINT32 *NumberOfOperandsImplemented)
Check the script capabilities with the target script buffer.
Definition hardware.c:82
IMPORT_EXPORT_HYPERDBG_SCRIPT_ENGINE VOID HardwareScriptInterpreterFreeHwdbgShortSymbolBuffer(HWDBG_SHORT_SYMBOL *NewShortSymbolBuffer)
Function free the short symbol buffer.
Definition hardware.c:706
HWDBG_INSTANCE_INFORMATION g_HwdbgInstanceInfo
Instance information of the current hwdbg debuggee.
Definition globals.h:691
VOID HwdbgScriptPrintFinalScriptBufferAndHardwareDetails(HWDBG_INSTANCE_INFORMATION *InstanceInfo, SIZE_T NewCompressedBufferSize, UINT32 NumberOfStagesForScript, UINT32 NumberOfOperandsForScript, HWDBG_SHORT_SYMBOL *NewScriptBuffer, SIZE_T NumberOfNeededFlipFlopsInTargetDevice, SIZE_T NumberOfBytesPerChunk, UINT32 NumberOfOperandsImplemented)
Print the hwdbg script buffer and hardware details.
Definition hwdbg-scripts.cpp:150
BOOLEAN HwdbgScriptCompressScriptBuffer(HWDBG_INSTANCE_INFORMATION *InstanceInfo, SYMBOL *ScriptBuffer, SIZE_T ScriptBufferSize, UINT32 NumberOfStagesForScript, HWDBG_SHORT_SYMBOL **NewScriptBuffer, SIZE_T *NewCompressedBufferSize, SIZE_T *NumberOfBytesPerChunk)
Compress the script buffer.
Definition hwdbg-scripts.cpp:61
BOOLEAN HwdbgScriptWriteScriptConfigurationPacketIntoFile(HWDBG_INSTANCE_INFORMATION *InstanceInfo, const CHAR *FileName, UINT32 NumberOfStagesForScript, UINT32 NumberOfOperandsImplemented, HWDBG_SHORT_SYMBOL *NewScriptBuffer, SIZE_T NewCompressedBufferSize)
Write script configuration packet into a file.
Definition hwdbg-scripts.cpp:191
NULL()
Definition test-case-generator.py:530
Definition ScriptEngineCommonDefinitions.h:16
Definition ScriptEngineCommonDefinitions.h:6