Commit graph

112 commits

Author SHA1 Message Date
sina
a24c8c0a91 cleanup for resync serial codes and update CHANGELOG.md
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-08-01 20:49:02 +02:00
munraimix
2cd78897c0 Resync serial stream on framing overflow instead of flooding the debuggee
When the debugger drops the serial link uncleanly mid-frame (no CLOSE_AND_UNLOAD packet), SerialConnectionRecvBuffer overflowed without an end-of-buffer marker and returned FALSE into the KD dispatch loop retry. The loop re-entered the same desynced stream, so it overflowed again at once and flooded 'buffer exceeds the buffer limitation' (and could wedge the KD driver on the next reconnect). Discard bytes to the next end-of-buffer marker to re-align, start a fresh frame, and log once per desync episode with LogWarning. Framing and protocol are unchanged.

Refs #661
2026-07-26 22:43:57 +10:00
sina
f4c77abb75 update and cleanup CPUID 2 plus fixing build error 2026-07-21 15:27:22 +02:00
Sina Karvandi
6324c1d718
Merge pull request #650 from nikzad66/feature-cpuid-command
Feature cpuid command
2026-07-21 14:28:37 +02:00
sina
d37352fd7e fix the error for referencing guest registers twice in both kd and vmx codes 2026-07-19 19:39:33 +02:00
Nikzad
0564b729c9 kernel: implement CPUID command handling in kernel mode- Add DebuggerCommandCpuid() for CPUID execution
- Implement IOCTL_DEBUGGER_CPUID handler
- Fill CPUID response with register values and leaf data
- Add max sub-leaf detection for some special leaves like 0x4, 0xB and...
- Add SGX support detection via leaf 7
2026-07-19 18:12:45 +03:30
munraimix
7436b35fd0 Fix DRIVER_IRQL_NOT_LESS_OR_EQUAL when reading registers on a manually-halted core
In Debugger Mode, breaking the debuggee and then reading registers (e.g. the
'r' command) could bugcheck the debuggee with DRIVER_IRQL_NOT_LESS_OR_EQUAL
(0xD1) at IRQL 0xff.

Root cause: DebuggerCommandReadRegisters() copies GUEST_REGS from
DbgState->Regs, but the per-core DbgState->Regs is only populated on the
event-triggered halt paths. A core halted via a manual break
(DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM) or via the NMI broadcast (KdHandleNmi)
never had DbgState->Regs set, so it was NULL and the GUEST_REGS memcpy
dereferenced address 0.

Fix:
- Add VmFuncGetGuestRegs(CoreId) returning g_GuestState[CoreId].Regs (the
  guest GP registers saved on the last vm-exit).
- Populate DbgState->Regs from it on the two manual-halt entry points
  (DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM and KdHandleNmi) so register reads on a
  manually-halted core return the correct values.
- Add a defensive NULL check in DebuggerCommandReadRegisters().
2026-07-19 16:53:34 +10:00
jtaw5649
a0973894e8 fix: avoid pool list cursor use after free 2026-06-24 16:45:25 +01:00
sina
5e5f277e21 fix race condition error in pool manager 2026-06-09 19:34:58 +02:00
sina
cd52174d82 fix and remove unused VMM callbacks 2026-06-09 15:04:20 +02:00
sina
bb3b09beb9 replace VMM callbacks 2026-06-09 01:37:48 +02:00
sina
aa09f9cde3 check to unload the trace module before unloading vmm 2026-06-06 23:45:18 +02:00
sina
0aedc66ed0 add load and unload hyper trace module 2026-06-06 17:18:14 +02:00
Sina Karvandi
67d8d461bd
Merge pull request #603 from HyperDbg/trace-module
Some checks failed
vs2022-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2022-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2022-ci / Deploy release (push) Has been cancelled
Trace module
2026-06-06 00:34:16 +02:00
sina
5309211043 Fix pool manager corruption of linked lists 2026-06-06 00:33:21 +02:00
sina
f274e1aaa0 check for pool manager initialization 2026-06-05 20:12:30 +02:00
jtaw5649
986ef9f085 fix(debugger): unlink actions before free 2026-06-05 14:59:18 +01:00
sina
adfe5f7d14 uninit VMM and KD separately 2026-06-04 00:55:05 +02:00
sina
b6b8320518 moving pool mananger from hyperhv to hyperkd 2026-06-04 00:06:41 +02:00
sina
ef2a482c45 refactor doxygen, variables, function names 6 2026-05-31 18:59:52 +02:00
sina
cb5a83096d load trace module 2026-05-28 20:26:33 +02:00
sina
10dd66d416 add synchronization functions for DPC routines of Windows 2026-05-08 16:44:42 +02:00
sina
de0c56b466 create platform independent intrinsics functions 2026-05-05 21:25:20 +02:00
sina
09416e7fe1 add lbrdump command and sdk function 2026-05-04 00:29:54 +02:00
sina
84f0fa0ed4 check for the VMX state independently from function arguments 2026-04-26 12:37:08 +02:00
sina
c6b6a8a3a0 add processor trace command 2026-04-25 22:46:55 +02:00
sina
e359911d60 add base structure for Intel PT 2026-04-25 21:42:17 +02:00
sina
3cbf328fee Restructure of the hypertrace project 2026-04-25 18:02:48 +02:00
Sina Karvandi
54c2a9923b
Merge pull request #576 from HyperDbg/LBR
Lbr
2026-04-23 16:44:08 +02:00
copilot-swe-agent[bot]
774d61782f
fix: correct typos and one copy-paste error in comments and messages
Agent-Logs-Url: https://github.com/HyperDbg/HyperDbg/sessions/0817c887-8808-4080-a701-6a0211b10595

Co-authored-by: SinaKarvandi <13383992+SinaKarvandi@users.noreply.github.com>
2026-04-23 12:38:48 +00:00
sina
f2ef1c3f3b Fix the problem of not applying the EAX index in the CPUID event extension command 2026-04-22 18:24:09 +02:00
sina
f192c194df initialize the LBR based on hypervisor environment checks 2026-04-22 17:43:23 +02:00
sina
efded3790b protect load and save vm-entry and vm-exit controls from setting and unsetting in different routines 2026-04-22 16:27:20 +02:00
sina
1dd73675e9 apply the LBR and HyperTrace initialization and operations 2026-04-06 01:05:59 +02:00
unknown
e837a4526b perform upausing threads before changing MBEC bits 2025-09-06 23:11:08 +02:00
sina
228ecd91f1
added support for the print and the printf functions in the user debugger 2025-09-06 19:25:26 +02:00
sina
0d940ee543
sending results of format to the user debugger 2025-09-01 18:27:01 +02:00
sina
3f6d837a62
run script for modifying registers in the user debugger 2025-08-31 16:53:09 +02:00
unknown
a869065718 add support to the registers command to the user debugger 2025-08-31 01:53:29 +02:00
unknown
85debe2636 add synchronization functions 2025-08-30 03:55:15 +02:00
unknown
87f32fb5d0 add user debugger command synchronization event 2025-08-30 03:37:10 +02:00
unknown
99b807dd6e add codes to support the p command in the user debugger 2025-08-30 00:14:48 +02:00
sina
05b27083b2
fix running step-in command in user debugger 2025-08-27 23:14:57 +02:00
sina
739d143393
show number of blocked context switches 2025-08-23 15:36:53 +02:00
sina
c37ec6f3c0
apply command to the target thread from MBEC 2025-08-23 01:30:12 +02:00
sina
13f2b63053
fix checks for parameters of the XSETBV extension command 2025-08-21 19:48:37 +02:00
sina
77029f330d
add XSETBV event extension command 2025-08-21 00:17:26 +02:00
copilot-swe-agent[bot]
8a5f696544 Fix grammar and spelling errors: perfrom->perform, occured->occurred, recieved->received
Co-authored-by: SinaKarvandi <13383992+SinaKarvandi@users.noreply.github.com>
2025-08-20 12:49:07 +00:00
sina
3ce7e7d92b
update preactivating mode command messages 2025-08-17 22:57:46 +02:00
sina
3961196112
add support for SMI related functionalities 2025-08-02 23:18:18 +02:00