This function applies commands from the debugger to the debuggee.
2293{
2324
2326 {
2329 UINT32 RecvBufferLength = 0;
2331
2332
2333
2334
2336
2337
2338
2339
2341 {
2342
2343
2344
2345 continue;
2346 }
2347
2349 {
2350
2351
2352
2354 RecvBufferLength -
sizeof(
BYTE)) != TheActualPacket->
Checksum)
2355 {
2356 LogError(
"Err, checksum is invalid");
2357 continue;
2358 }
2359
2360
2361
2362
2364 {
2365
2366
2367
2368
2369 LogError(
"Err, unknown packet received from the debugger\n");
2370 continue;
2371 }
2372
2373
2374
2375
2377 {
2379
2380
2381
2382
2384
2385
2386
2387
2388 EscapeFromTheLoop =
TRUE;
2389
2390 break;
2391
2393
2395
2397 {
2400
2401
2402
2403
2404
2405
2406
2407
2409
2410
2411
2412
2414
2416 {
2418 }
2419
2420
2421
2422
2423 EscapeFromTheLoop =
TRUE;
2424
2425 break;
2426
2430
2431
2432
2433
2435
2436
2437
2438
2440
2442 {
2444 }
2445
2446
2447
2448
2449 EscapeFromTheLoop =
TRUE;
2450
2451 break;
2452
2454
2455
2456
2457
2458
2459
2460
2461
2463
2464
2465
2466
2468
2469
2470
2471
2472 EscapeFromTheLoop =
TRUE;
2473
2474 break;
2475
2476 default:
2477 break;
2478 }
2479
2480 break;
2481
2483
2484
2485
2486
2488
2489
2490
2491
2493
2494
2495
2496
2497 EscapeFromTheLoop =
TRUE;
2498
2499 break;
2500
2502
2504
2505
2506
2507
2509 {
2510
2511
2512
2513 EscapeFromTheLoop =
TRUE;
2514
2515
2516
2517
2518 UnlockTheNewCore =
TRUE;
2519 }
2520
2521
2522
2523
2526 (
CHAR *)ChangeCorePacket,
2528
2529
2530
2531
2532 if (UnlockTheNewCore)
2533 {
2534 UnlockTheNewCore =
FALSE;
2536 }
2537
2538 break;
2539
2541
2543
2544
2545
2546
2548
2549
2550
2551
2554 (
CHAR *)FlushPacket,
2556
2557 break;
2558
2560
2562
2564
2565
2566
2567
2569 {
2571 }
2572
2573
2574
2575
2578 CallstackPacket->
Size,
2580 {
2582 }
2583 else
2584 {
2586 }
2587
2588
2589
2590
2593 (
CHAR *)CallstackPacket,
2594 (
UINT32)CallstackPacket->BufferSize);
2595
2596 break;
2597
2599
2601
2602
2603
2604
2606
2607
2608
2609
2612 (
CHAR *)TestQueryPacket,
2614
2615 break;
2616
2618
2620
2621
2622
2623
2625 {
2627 }
2628 else
2629 {
2631 }
2632
2634 {
2636 }
2637 else
2638 {
2640 }
2641
2642
2643
2646 (
CHAR *)ReadRegisterPacket,
2647 SizeToSend);
2648
2649 break;
2650
2652
2654
2655
2656
2657
2659 {
2661 }
2662 else
2663 {
2665 }
2666
2667
2668
2669
2672 (
CHAR *)WriteRegisterPacket,
2674
2675 break;
2676
2678
2680
2681
2682
2683
2686 &ReturnSize))
2687 {
2689 }
2690 else
2691 {
2693 }
2694
2696
2697
2698
2699
2702 (
CHAR *)ReadMemoryPacket,
2704
2705 break;
2706
2708
2710
2711
2712
2713
2715
2716
2717
2718
2721 (
CHAR *)EditMemoryPacket,
2723
2724 break;
2725
2727
2729
2730
2731
2732
2734
2735
2736
2737
2740 (
CHAR *)ChangeProcessPacket,
2742
2743 break;
2744
2746
2748
2749
2750
2751
2753
2754
2755
2756
2759 (
CHAR *)ChangeThreadPacket,
2761
2762 break;
2763
2765
2767
2768
2769
2770
2772 NULL,
2773 ScriptPacket,
2775 {
2776
2777
2778
2780 }
2781 else
2782 {
2783
2784
2785
2787 }
2788
2789
2790
2791
2794 (
CHAR *)ScriptPacket,
2796
2797 break;
2798
2800
2802
2803
2804
2805
2808
2809
2810
2811
2813 EscapeFromTheLoop =
TRUE;
2814
2815 break;
2816
2818
2820
2821
2822
2823
2824
2825
2827 SearchQueryPacket,
2832 {
2833
2834
2835
2837 }
2838 else
2839 {
2840
2841
2842
2844 }
2845
2846
2847
2848
2851 (
CHAR *)&SearchPacketResult,
2853
2854 break;
2855
2857
2859
2860
2861
2862
2864 {
2865
2866
2867
2869 EscapeFromTheLoop =
TRUE;
2870 }
2871 else
2872 {
2873
2874
2875
2878 (
CHAR *)&DebuggerEventAndActionResult,
2880 }
2881
2882 break;
2883
2885
2887
2888
2889
2890
2892 {
2893
2894
2895
2897 EscapeFromTheLoop =
TRUE;
2898 }
2899 else
2900 {
2901
2902
2903
2906 (
CHAR *)&DebuggerEventAndActionResult,
2908 }
2909
2910 break;
2911
2913
2915
2916
2917
2918
2920 {
2921
2922
2923
2925 EscapeFromTheLoop =
TRUE;
2926 }
2927 else
2928 {
2929
2930
2931
2934 (
CHAR *)QueryAndModifyEventPacket,
2936 }
2937
2938 break;
2939
2941
2943
2944
2945
2946
2948
2949
2950
2951
2954 (
CHAR *)ShortCircuitingEventPacket,
2956
2957 break;
2958
2960
2962
2963
2964
2965
2967
2968
2969
2970
2975
2976 break;
2977
2979
2981
2982
2983
2984
2986
2987
2988
2989
2994
2995 break;
2996
2998
3000
3001
3002
3003
3005
3006
3007
3008
3011 (
CHAR *)PageinPacket,
3013
3014 break;
3015
3017
3019
3020
3021
3022
3023
3025
3026
3027
3028
3031 (
CHAR *)Va2paPa2vaPacket,
3033
3034 break;
3035
3037
3039
3040
3041
3042
3044
3045
3046
3047
3050 (
CHAR *)BpListOrModifyPacket,
3052
3053 break;
3054
3056
3058
3059
3060
3061
3063
3064
3065
3066
3068
3069
3070
3071
3072 EscapeFromTheLoop =
TRUE;
3073
3074 break;
3075
3076 default:
3077 LogError(
"Err, unknown packet action received from the debugger\n");
3078 break;
3079 }
3080 }
3081 else
3082 {
3083
3084
3085
3086 LogError(
"Err, it's not a HyperDbg packet, the packet is probably deformed\n");
3087 continue;
3088 }
3089
3090
3091
3092
3093 if (EscapeFromTheLoop)
3094 {
3095 break;
3096 }
3097 }
3098}
unsigned int UINT32
Definition BasicTypes.h:48
struct GUEST_EXTRA_REGISTERS GUEST_EXTRA_REGISTERS
struct for extra registers
BOOLEAN BreakpointAddNew(PDEBUGGEE_BP_PACKET BpDescriptorArg)
Add new breakpoints.
Definition BreakpointCommands.c:893
BOOLEAN BreakpointListOrModify(PDEBUGGEE_BP_LIST_OR_MODIFY_PACKET ListOrModifyBreakpoints)
List of modify breakpoints.
Definition BreakpointCommands.c:1089
BOOLEAN CallstackWalkthroughStack(PDEBUGGER_SINGLE_CALLSTACK_FRAME AddressToSaveFrames, UINT64 StackBaseAddress, UINT32 Size, BOOLEAN Is32Bit)
Walkthrough the stack.
Definition Callstack.c:25
struct _DEBUGGER_REMOTE_PACKET * PDEBUGGER_REMOTE_PACKET
@ DEBUGGER_REMOTE_PACKET_TYPE_DEBUGGEE_TO_DEBUGGER
Definition Connection.h:164
@ DEBUGGER_REMOTE_PACKET_TYPE_DEBUGGER_TO_DEBUGGEE_EXECUTE_ON_VMX_ROOT
Definition Connection.h:154
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_BP
Definition Connection.h:122
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_REGISTER_EVENT
Definition Connection.h:85
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_PTE
Definition Connection.h:128
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_TEST_QUERY
Definition Connection.h:114
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_SEARCH_QUERY
Definition Connection.h:84
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RELOAD_SEARCH_QUERY
Definition Connection.h:127
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_SHORT_CIRCUITING_STATE
Definition Connection.h:123
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_NO_ACTION
Definition Connection.h:103
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_LIST_OR_MODIFY_BREAKPOINTS
Definition Connection.h:92
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_INJECT_PAGE_FAULT
Definition Connection.h:97
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_FLUSH
Definition Connection.h:112
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_EDIT_MEMORY
Definition Connection.h:90
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CONTINUE
Definition Connection.h:74
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_ADD_ACTION_TO_EVENT
Definition Connection.h:86
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_ADDING_ACTION_TO_EVENT
Definition Connection.h:116
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CHANGE_CORE
Definition Connection.h:76
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_READING_REGISTERS
Definition Connection.h:119
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CHANGE_THREAD
Definition Connection.h:81
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CHANGE_PROCESS
Definition Connection.h:80
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_READ_REGISTERS
Definition Connection.h:88
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_READING_MEMORY
Definition Connection.h:120
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_REGISTERING_EVENT
Definition Connection.h:115
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_WRITE_REGISTER
Definition Connection.h:131
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_STEP
Definition Connection.h:73
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_WRITE_REGISTER
Definition Connection.h:98
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_VA2PA_AND_PA2VA
Definition Connection.h:129
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_SET_SHORT_CIRCUITING_STATE
Definition Connection.h:96
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CLOSE_AND_UNLOAD_DEBUGGEE
Definition Connection.h:75
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_EDITING_MEMORY
Definition Connection.h:121
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_THREAD
Definition Connection.h:109
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_CALLSTACK
Definition Connection.h:78
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_TEST_QUERY
Definition Connection.h:79
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_QUERY_PA2VA_AND_VA2PA
Definition Connection.h:94
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_RUNNING_SCRIPT
Definition Connection.h:110
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_BRINGING_PAGES_IN
Definition Connection.h:130
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_BP
Definition Connection.h:91
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_READ_MEMORY
Definition Connection.h:89
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_QUERY_AND_MODIFY_EVENT
Definition Connection.h:117
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_SYMBOL_QUERY_PTE
Definition Connection.h:95
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CALLSTACK
Definition Connection.h:113
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_QUERY_AND_MODIFY_EVENT
Definition Connection.h:87
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_MODE_FLUSH_BUFFERS
Definition Connection.h:77
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_CORE
Definition Connection.h:107
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_LIST_OR_MODIFY_BREAKPOINTS
Definition Connection.h:124
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_RUN_SCRIPT
Definition Connection.h:82
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_SYMBOL_RELOAD
Definition Connection.h:93
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_PROCESS
Definition Connection.h:108
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_ON_VMX_ROOT_USER_INPUT_BUFFER
Definition Connection.h:83
struct _DEBUGGER_REMOTE_PACKET DEBUGGER_REMOTE_PACKET
The structure of remote packets in HyperDbg.
#define INDICATOR_OF_HYPERDBG_PACKET
constant indicator of a HyperDbg packet
Definition Constants.h:502
#define DEBUGGEE_SHOW_ALL_REGISTERS
for reading all registers in r command.
Definition Constants.h:665
#define MaxSerialPacketSize
size of buffer for serial
Definition Constants.h:194
BOOLEAN DebuggerPerformRunScript(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGER_EVENT_ACTION *Action, DEBUGGEE_SCRIPT_PACKET *ScriptDetails, DEBUGGER_TRIGGERED_EVENT_DETAILS *EventTriggerDetail)
Managing run script action.
Definition Debugger.c:1608
BOOLEAN DebuggerCommandEditMemoryVmxRoot(PDEBUGGER_EDIT_MEMORY EditMemRequest)
Edit physical and virtual memory on vmxroot mode.
Definition DebuggerCommands.c:555
BOOLEAN DebuggerCommandReadMemoryVmxRoot(PDEBUGGER_READ_MEMORY ReadMemRequest, UCHAR *UserBuffer, UINT32 *ReturnSize)
Read memory for different commands from vmxroot mode.
Definition DebuggerCommands.c:137
BOOLEAN SearchAddressWrapper(PUINT64 AddressToSaveResults, PDEBUGGER_SEARCH_MEMORY SearchMemRequest, UINT64 StartAddress, UINT64 EndAddress, BOOLEAN IsDebuggeePaused, PUINT32 CountOfMatchedCases)
The wrapper to check for validity of addresses and call the search routines for both physical and vir...
Definition DebuggerCommands.c:962
NTSTATUS DebuggerCommandFlush(PDEBUGGER_FLUSH_LOGGING_BUFFERS DebuggerFlushBuffersRequest)
Perform the flush requests to vmx-root and vmx non-root buffers.
Definition DebuggerCommands.c:1235
#define DEBUGGER_ERROR_INVALID_REGISTER_NUMBER
error, invalid register number
Definition ErrorCodes.h:178
#define DEBUGGER_ERROR_UNABLE_TO_GET_CALLSTACK
error, unable to get the callstack
Definition ErrorCodes.h:380
#define DEBUGGER_ERROR_INVALID_ADDRESS
error, invalid address specified for debugger
Definition ErrorCodes.h:63
#define DEBUGGER_ERROR_PREPARING_DEBUGGEE_TO_RUN_SCRIPT
error, unable to run script in remote debuggee
Definition ErrorCodes.h:172
VOID ExtensionCommandVa2paAndPa2va(PDEBUGGER_VA2PA_AND_PA2VA_COMMANDS AddressDetails, BOOLEAN OperateOnVmxRoot)
routines for !va2pa and !pa2va commands
Definition ExtensionCommands.c:23
BOOLEAN ExtensionCommandPte(PDEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS PteDetails, BOOLEAN IsOperatingInVmxRoot)
routines for !pte command
Definition ExtensionCommands.c:170
VOID KdContinueDebuggeeJustCurrentCore(PROCESSOR_DEBUGGING_STATE *DbgState)
continue the debuggee, just the current operating core
Definition Kd.c:616
VOID KdRegularStepInInstruction(PROCESSOR_DEBUGGING_STATE *DbgState)
Regular step-in | step one instruction to the debuggee.
Definition Kd.c:1515
VOID KdPerformTheTestPacketOperation(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGER_DEBUGGER_TEST_QUERY_BUFFER *TestQueryPacket)
Perform the test packet's operation.
Definition Kd.c:1887
_Use_decl_annotations_ VOID KdReloadSymbolDetailsInDebuggee(PDEBUGGEE_SYMBOL_REQUEST_PACKET SymPacket)
Notify user-mode to re-send (reload) the symbol packets.
Definition Kd.c:851
VOID KdNotifyDebuggeeForUserInput(DEBUGGEE_USER_INPUT_PACKET *Descriptor, UINT32 Len)
Notify user-mode to about new user-input buffer.
Definition Kd.c:876
BOOLEAN KdBringPagein(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGER_PAGE_IN_REQUEST PageinRequest)
routines to break page-in
Definition Kd.c:1839
VOID KdGuaranteedStepInstruction(PROCESSOR_DEBUGGING_STATE *DbgState)
apply a guaranteed step one instruction to the debuggee
Definition Kd.c:1406
BOOLEAN KdPerformEventQueryAndModification(PDEBUGGER_MODIFY_EVENTS ModifyAndQueryEvent)
Perform modify and query events.
Definition Kd.c:2084
_Use_decl_annotations_ VOID KdContinueDebuggee(PROCESSOR_DEBUGGING_STATE *DbgState, BOOLEAN PauseBreaksUntilSpecialMessageSent, DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION SpeialEventResponse)
continue the debuggee, this function guarantees that all other cores are continued (except current co...
Definition Kd.c:583
_Use_decl_annotations_ BYTE KdComputeDataChecksum(PVOID Buffer, UINT32 Length)
calculate the checksum of received buffer from debugger
Definition Kd.c:270
BOOLEAN KdPerformRegisterEvent(PDEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET EventDetailHeader, DEBUGGER_EVENT_AND_ACTION_RESULT *DebuggerEventAndActionResult)
Send event registration buffer to user-mode to register the event.
Definition Kd.c:1584
VOID KdCloseConnectionAndUnloadDebuggee()
Notify user-mode to unload the debuggee and close the connections.
Definition Kd.c:827
_Use_decl_annotations_ BOOLEAN KdReadRegisters(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGEE_REGISTER_READ_DESCRIPTION ReadRegisterRequest)
read registers
Definition Kd.c:639
BOOLEAN KdPerformAddActionToEvent(PDEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET ActionDetailHeader, DEBUGGER_EVENT_AND_ACTION_RESULT *DebuggerEventAndActionResult)
Send action buffer to user-mode to be added to the event.
Definition Kd.c:1636
VOID KdPerformSettingTheStateOfShortCircuiting(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGER_SHORT_CIRCUITING_EVENT ShortCircuitingEvent)
Perform modify the state of short-circuiting.
Definition Kd.c:2057
BOOLEAN KdSwitchCore(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGEE_CHANGE_CORE_PACKET *ChangeCorePacket)
change the current operating core to new core
Definition Kd.c:736
VOID KdRegularStepOver(PROCESSOR_DEBUGGING_STATE *DbgState, BOOLEAN IsNextInstructionACall, UINT32 CallLength)
Regular step-over | step one instruction to the debuggee if there is a call then it jumps the call.
Definition Kd.c:1536
_Use_decl_annotations_ BOOLEAN KdResponsePacketToDebugger(DEBUGGER_REMOTE_PACKET_TYPE PacketType, DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION Response, CHAR *OptionalBuffer, UINT32 OptionalBufferLength)
Sends a HyperDbg response packet to the debugger.
Definition Kd.c:294
BOOLEAN ProcessInterpretProcess(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGEE_DETAILS_AND_SWITCH_PROCESS_PACKET PidRequest)
change the current process @detail ONLY TO BE USED IN KD STUFFS
Definition Process.c:525
BOOLEAN SetRegValue(PGUEST_REGS GuestRegs, UINT32 RegisterId, UINT64 Value)
Set the register value.
Definition Regs.c:963
struct _DEBUGGER_CALLSTACK_REQUEST DEBUGGER_CALLSTACK_REQUEST
request for callstack frames
@ DEBUGGER_REMOTE_STEPPING_REQUEST_INSTRUMENTATION_STEP_IN
Definition RequestStructures.h:993
@ DEBUGGER_REMOTE_STEPPING_REQUEST_INSTRUMENTATION_STEP_IN_FOR_TRACKING
Definition RequestStructures.h:994
@ DEBUGGER_REMOTE_STEPPING_REQUEST_STEP_IN
Definition RequestStructures.h:992
@ DEBUGGER_REMOTE_STEPPING_REQUEST_STEP_OVER_FOR_GU
Definition RequestStructures.h:997
@ DEBUGGER_REMOTE_STEPPING_REQUEST_STEP_OVER
Definition RequestStructures.h:996
@ DEBUGGER_REMOTE_STEPPING_REQUEST_STEP_OVER_FOR_GU_LAST_INSTRUCTION
Definition RequestStructures.h:998
struct _DEBUGGEE_REGISTER_READ_DESCRIPTION DEBUGGEE_REGISTER_READ_DESCRIPTION
Register Descriptor Structure to use in r command.
struct _DEBUGGER_EDIT_MEMORY * PDEBUGGER_EDIT_MEMORY
BOOLEAN SerialConnectionRecvBuffer(CHAR *BufferToSave, UINT32 *LengthReceived)
Receive packet from the debugger.
Definition SerialConnection.c:99
BOOLEAN ThreadInterpretThread(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGEE_DETAILS_AND_SWITCH_THREAD_PACKET TidRequest)
change the current thread
Definition Thread.c:325
NULL()
Definition test-case-generator.py:530
The structure of breakpoint modification requests packet in HyperDbg.
Definition RequestStructures.h:1090
The structure of bp command packet in HyperDbg.
Definition RequestStructures.h:1060
The structure of changing core packet in HyperDbg.
Definition RequestStructures.h:599
The structure of changing process and show process packet in HyperDbg.
Definition RequestStructures.h:924
The structure of changing thead and show thread packet in HyperDbg.
Definition RequestStructures.h:963
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:156
Register Descriptor Structure to use in r command.
Definition RequestStructures.h:1156
UINT32 RegisterId
Definition RequestStructures.h:1157
UINT32 KernelStatus
Definition RequestStructures.h:1159
Register Descriptor Structure to write on registers.
Definition RequestStructures.h:1171
UINT64 Value
Definition RequestStructures.h:1173
UINT32 RegisterId
Definition RequestStructures.h:1172
UINT32 KernelStatus
Definition RequestStructures.h:1174
The structure of result of search packet in HyperDbg.
Definition RequestStructures.h:1142
UINT32 CountOfResults
Definition RequestStructures.h:1143
UINT32 Result
Definition RequestStructures.h:1144
The structure of script packet in HyperDbg.
Definition RequestStructures.h:1122
UINT32 Result
Definition RequestStructures.h:1126
The structure of stepping packet in HyperDbg.
Definition RequestStructures.h:1007
BOOLEAN IsCurrentInstructionACall
Definition RequestStructures.h:1014
UINT32 CallLength
Definition RequestStructures.h:1015
DEBUGGER_REMOTE_STEPPING_REQUEST StepType
Definition RequestStructures.h:1008
The structure of .sym reload packet in HyperDbg.
Definition RequestStructures.h:1047
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:140
UINT32 CommandLen
Definition DataTypes.h:141
request for callstack frames
Definition RequestStructures.h:789
UINT32 Size
Definition RequestStructures.h:793
UINT32 KernelStatus
Definition RequestStructures.h:791
BOOLEAN Is32Bit
Definition RequestStructures.h:790
UINT64 BaseAddress
Definition RequestStructures.h:795
request for test query buffers
Definition RequestStructures.h:333
request for edit virtual and physical memory
Definition RequestStructures.h:482
Status of register buffers.
Definition Events.h:423
request for flushing buffers
Definition RequestStructures.h:294
request for modifying events (enable/disable/clear)
Definition Events.h:242
requests for the '.pagein' command
Definition RequestStructures.h:73
request for reading virtual and physical memory
Definition RequestStructures.h:266
UINT32 KernelStatus
Definition RequestStructures.h:275
UINT32 ReturnLength
Definition RequestStructures.h:274
request for !pte command
Definition RequestStructures.h:22
The structure of remote packets in HyperDbg.
Definition Connection.h:183
DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION RequestedActionOfThePacket
Definition Connection.h:187
DEBUGGER_REMOTE_PACKET_TYPE TypeOfThePacket
Definition Connection.h:186
BYTE Checksum
Definition Connection.h:184
UINT64 Indicator
Definition Connection.h:185
request for searching memory
Definition RequestStructures.h:527
UINT64 Length
Definition RequestStructures.h:529
UINT64 Address
Definition RequestStructures.h:528
request for performing a short-circuiting event
Definition Events.h:256
The structure for saving the callstack frame of one parameter.
Definition RequestStructures.h:761
requests for !va2pa and !pa2va commands
Definition RequestStructures.h:54
GUEST_REGS * Regs
Definition State.h:168
CHAR KdRecvBuffer[MaxSerialPacketSize]
Definition State.h:188
BOOLEAN IgnoreDisasmInNextPacket
Definition State.h:171
Definition BasicTypes.h:70
UINT64 rsp
Definition BasicTypes.h:79