Commit graph

46 commits

Author SHA1 Message Date
Nikzad
123e0dd790 fixed problem for user i/o instruction 2026-08-17 22:08:37 +03:30
Nikzad
2dfbf46e51 c/cpp files 2026-08-06 21:13:03 +03:30
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
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
sina
bb3b09beb9 replace VMM callbacks 2026-06-09 01:37:48 +02:00
sina
ef2a482c45 refactor doxygen, variables, function names 6 2026-05-31 18:59:52 +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
unknown
a869065718 add support to the registers command to the user debugger 2025-08-31 01:53:29 +02:00
unknown
99b807dd6e add codes to support the p command in the user debugger 2025-08-30 00:14:48 +02:00
sina
3ce7e7d92b
update preactivating mode command messages 2025-08-17 22:57:46 +02:00
sina
3d73a95b8f
check for uninitializing memory pools for the debugger 2025-07-15 00:02:11 +02:00
sina
891382fa50
check the accessibility of address based on process id 2025-07-09 23:49:12 +02:00
sina
7ae6ad8e37
added kernel side support for putting breakpoint in the user debugger 2025-07-09 22:38:36 +02:00
sina
f01f0d85f8
add instant breakpoint breaks in the user debugger 2025-06-29 01:01:17 +02:00
sina
2637965512
apply user mode debugger to the kernel debugger 2025-06-26 19:14:29 +02:00
sina
a8e3cf55e1
add context to the syscall interceptor 2025-04-30 20:52:04 +02:00
sina
be6b055b83
Set variable length (stack frames) for showing the callstack 2025-04-21 19:54:24 +02:00
Björn Ruytenberg
29cf8e8839 pcicam: Disable querying for BAR sizes
The current method for determining BAR sizes appears to generate unreliable results. For now, do not query devices for BAR sizes.
2025-02-23 20:55:07 +01:00
Sina Karvandi
ee17e49bfc
Merge branch 'dev' into add-pcie-support 2025-02-13 17:13:19 +01:00
sina
61a0ae4553 fix the issue of reading and writing device memory 2025-02-13 16:13:00 +01:00
Sina Karvandi
8682b3c218
Merge pull request #500 from HyperDbg/mmio-mem-read
Mmio mem read
2025-02-13 13:31:53 +01:00
Björn Ruytenberg
d1fe27763d pcicam: Do not skip subsequent BARs when encountering zero-sized BARs 2025-02-10 16:20:32 +01:00
Björn Ruytenberg
835f4aedb7 pcicam: Disable command decoding when querying for BAR sizes 2025-02-10 14:06:22 +01:00
Björn Ruytenberg
bdb2583383 pcicam: Add support for Bridge header type; add initial support for determining BARs and their sizes 2025-01-27 16:14:43 +01:00
Björn Ruytenberg
0931ecb47d pcicam: Add initial support for dumping PCI config space (CAM) 2025-01-14 14:55:01 +01:00
SinaKarvandi
0bb3398b30 move the idt query functions from debugger to hypervisor 2024-12-30 05:04:07 +01:00
SinaKarvandi
46876dd0b9 reloacte interrupt descriptor structure 2024-12-30 04:43:43 +01:00
SinaKarvandi
23702ca4f1 add query IDT command 2024-12-30 04:37:15 +01:00
SinaKarvandi
a86d36b781 fix pci tree command error in VMI mode 2024-12-11 15:43:41 +01:00
Björn Ruytenberg
02329af88e pcitree: Remove redundant log calls 2024-12-10 16:07:21 +01:00
Björn Ruytenberg
453dff9ac4 Merge branch 'dev' into add-pcie-support 2024-12-02 15:49:27 +01:00
SinaKarvandi
13befcfa00 fix interrupt redirection issues 2024-11-20 14:44:03 +01:00
SinaKarvandi
bb9c4e30d7 add support for IO APIC 2024-11-19 13:56:22 +01:00
Björn Ruytenberg
29071cad41 pcitree: Send PCI device tree in one flattened buffer. Add EP Class Code and remove BDF probing limits. 2024-11-17 21:01:03 +01:00
Björn Ruytenberg
9fb0360384 pcitree: Add initial version. Enumerates all PCIe EP's VID-DIDs. 2024-11-17 15:33:10 +01:00
Björn Ruytenberg
14a679a8dc
Merge branch 'dev' into add-pcie-support 2024-11-12 19:18:52 +01:00
Björn Ruytenberg
f0123c8790 pcitree: Initial work to add pcitree command 2024-11-12 19:14:48 +01:00
SinaKarvandi
a6c6c88d05 show different APIC modes (x2apic or xapic) 2024-11-09 15:08:32 +01:00
SinaKarvandi
851375ec15 add local apic command 2024-11-08 21:00:21 +01:00
SinaKarvandi
4b41b42d6c use MmMapIoSpaceEx for reading MMIO physical memory 2024-08-21 19:28:38 +09:00
SinaKarvandi
15c94d0b0e Fix crash on editing invalid physical addresses (#424) 2024-07-13 20:16:13 +09:00
SinaKarvandi
139be97b81 fix memory writing sdk error 2024-07-10 21:00:23 +09:00
SinaKarvandi
556efd2bd3 add a unified memory reading function 2024-07-06 21:16:45 +09:00
SinaKarvandi
48c362255e build based on new libhyperdbg 2024-06-24 18:05:54 +09:00