46{
   52    UINT32                             ActionBreakToDebuggerLength = 0;
 
   53    UINT32                             ActionCustomCodeLength      = 0;
 
   54    UINT32                             ActionScriptLength          = 0;
 
   55    vector<string>                     SplitCommandCaseSensitive {
Split(Command, 
' ')};
 
   57 
   58    
   59    
   60    
   61    
   63            &SplitCommand,
   64            &SplitCommandCaseSensitive,
   66            &Event,
   67            &EventLength,
   68            &ActionBreakToDebugger,
   69            &ActionBreakToDebuggerLength,
   70            &ActionCustomCode,
   71            &ActionCustomCodeLength,
   72            &ActionScript,
   73            &ActionScriptLength,
   74            &EventParsingErrorCause))
   75    {
   76        return;
   77    }
   78 
   79    
   80    
   81    
   82    if (SplitCommand.size() > 1)
   83    {
   86 
   88        return;
   89    }
   90 
   91    
   92    
   93    
   95    {
   96        
   97        
   98        
   99        
  100        
  101 
  103        return;
  104    }
  105 
  106    
  107    
  108    
  110                               ActionBreakToDebugger,
  111                               ActionBreakToDebuggerLength,
  112                               ActionCustomCode,
  113                               ActionCustomCodeLength,
  114                               ActionScript,
  115                               ActionScriptLength))
  116    {
  117        
  118        
  119        
  120 
  122        return;
  123    }
  124}
unsigned int UINT32
Definition BasicTypes.h:48
const vector< string > Split(const string &s, const char &c)
general split command
Definition common.cpp:117
VOID FreeEventsAndActionsMemory(PDEBUGGER_GENERAL_EVENT_DETAIL Event, PDEBUGGER_GENERAL_ACTION ActionBreakToDebugger, PDEBUGGER_GENERAL_ACTION ActionCustomCode, PDEBUGGER_GENERAL_ACTION ActionScript)
Deallocate buffers relating to events and actions.
Definition debugger.cpp:2292
BOOLEAN InterpretGeneralEventAndActionsFields(vector< string > *SplitCommand, vector< string > *SplitCommandCaseSensitive, VMM_EVENT_TYPE_ENUM EventType, PDEBUGGER_GENERAL_EVENT_DETAIL *EventDetailsToFill, PUINT32 EventBufferLength, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillBreakToDebugger, PUINT32 ActionBufferLengthBreakToDebugger, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillCustomCode, PUINT32 ActionBufferLengthCustomCode, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillScript, PUINT32 ActionBufferLengthScript, PDEBUGGER_EVENT_PARSING_ERROR_CAUSE ReasonForErrorInParsing)
Interpret general event fields.
Definition debugger.cpp:2342
BOOLEAN SendEventToKernel(PDEBUGGER_GENERAL_EVENT_DETAIL Event, UINT32 EventBufferLength)
Register the event to the kernel.
Definition debugger.cpp:1969
BOOLEAN RegisterActionToEvent(PDEBUGGER_GENERAL_EVENT_DETAIL Event, PDEBUGGER_GENERAL_ACTION ActionBreakToDebugger, UINT32 ActionBreakToDebuggerLength, PDEBUGGER_GENERAL_ACTION ActionCustomCode, UINT32 ActionCustomCodeLength, PDEBUGGER_GENERAL_ACTION ActionScript, UINT32 ActionScriptLength)
Register the action to the event.
Definition debugger.cpp:2086
VOID ShowMessages(const char *Fmt,...)
Show messages.
Definition libhyperdbg.cpp:96
NULL()
Definition test-case-generator.py:530
Each event can have multiple actions.
Definition Events.h:406
Each command is like the following struct, it also used for tracing works in user mode and sending it...
Definition Events.h:350
VOID CommandVmcallHelp()
help of the !vmcall command
Definition vmcall.cpp:20