Commit graph

48 commits

Author SHA1 Message Date
Max Raulea
2f59ad7c70 Kernel Module now Links and compiles!!
The kernel module now links and compiles, there are still a lot of empty
TODOs left, there are empty stubs for hypertrace, assembly files and
kdserial etc. these can be introduced one by one. My first step will be
loading the kernel module from the userspace cli.

Big step forward! :)
2026-08-24 11:20:24 +02:00
Max Raulea
95389e46df A lot of platform function swaps and left hyperevade out of the build
Created a lot of new platform wrappers for windows only functions
also removed hyperevade from the linux module build and added a empty
stub for the transparent functions they provide which can be filled in
later.
2026-08-23 14:18:12 +02:00
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