Commit graph

151 commits

Author SHA1 Message Date
sina
d37352fd7e fix the error for referencing guest registers twice in both kd and vmx codes 2026-07-19 19:39:33 +02:00
Sina Karvandi
18af7f2cbd
Merge pull request #648 from munraimix/fix/kd-null-regs-on-manual-break
Fix DRIVER_IRQL_NOT_LESS_OR_EQUAL when reading registers on a manually-halted core
2026-07-19 19:28:53 +02:00
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
14e7d88c3c add fix non long mode RIP overflow to the hyperevade project 2026-07-16 23:23:43 +02:00
sina
90c1513adb fix checks for long mode if RIP is overflown 2026-07-16 21:14:55 +02:00
sina
240feadc0c check for hyper-v as the top level hypervisor 2026-06-19 20:16:50 +02:00
idov31
e56730ee25 Added check for whether hyper-v is the top level hypervisor 2026-06-17 20:45:32 +03:00
idov31
0f2a339e0b Added VPID check support 2026-06-17 20:34:09 +03:00
sina
122a99a6fe commenting synthetic MSRs 2026-06-13 15:42:40 +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
f065776565 add missing Hyper-V TLFS headers
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
2026-06-07 14:03:02 +02:00
Sina Karvandi
e05d60be7d
Merge pull request #605 from Idov31/dev
Added synthetic MSR handling
2026-06-07 13:36:19 +02:00
Sina Karvandi
b0f3fa1ffd
Merge pull request #602 from jtaw5649/upstream/transparent-mode-mask-api
Add transparent-mode evade mask selection
2026-06-07 13:28:06 +02:00
idov31
bd30a120ae Made it a little more readable (ref: 220940ebb7/NovaHypervisor/RegistersHandler.cpp (L4)) 2026-06-06 23:02:22 +03:00
idov31
8b725c190b Added synthetic MSR handling 2026-06-06 22:56:59 +03:00
jtaw5649
9fd4034855 feat(hide): add transparent evade mask API 2026-06-05 19:01:14 +01:00
sina
b6b8320518 moving pool mananger from hyperhv to hyperkd 2026-06-04 00:06:41 +02:00
Sina Karvandi
01e513c876
Merge branch 'trace-module' into dev 2026-05-31 19:39:14 +02:00
sina
cbb28edde3 refactor doxygen, variables, function names 7 2026-05-31 19:29:14 +02:00
sina
468927a30f export LBR type as an argument on HyperTrace
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
2026-05-28 14:41:37 +02:00
sina
81f3d9f3d2 export HyperTrace LBR support and capacity function to the VMM and HyperEvade 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
2026-05-26 16:41:23 +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
e816b93c46 add missing LBR VMCALL 2026-05-04 14:23:53 +02:00
sina
ee72dd5f3f convert all VMX instructions to platform independent functions 2026-05-02 19:04:09 +02:00
sina
0ef8a15ed4 port intrinsics functions to linux 2026-05-02 17:38:33 +02:00
sina
6f004f1ffd Add ARCH LBR functions from hypervisor 2026-05-01 18:40:39 +02:00
sina
469f12c645 compile HyperDbg SDK for Linux (user-mode)
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
2026-04-28 17:17:45 +02:00
sina
c5ba5ccd89 compile HyperDbg SDK for Linux 2026-04-28 14:39:54 +02:00
sina
b35e0dd43c clearing the headers for Windows and Linux 2026-04-28 01:24:43 +02:00
sina
af50093b9b apply LBR filters from VMX-root mode 2026-04-27 03:16:41 +02:00
sina
d930b3341d change LBR control VMWRITE length 2026-04-23 18:52:41 +02:00
Sina Karvandi
54c2a9923b
Merge pull request #576 from HyperDbg/LBR
Lbr
2026-04-23 16:44:08 +02:00
sina
24875bda88 apply VM-exit and VM-entry load and save controls from VMCALLs 2026-04-23 16:42:34 +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
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
111bead68d check for hypervisor support of load and save VMCS exit and entry controls 2026-04-19 20:08:47 +02:00
sina
43cdab9821 broadcast LBR example to all cores 2026-04-19 19:20:18 +02:00
sina
a1984fed70 change instances for VMWRITE into a single function 2026-04-19 16:57:48 +02:00
sina
01ae55f854 change VMREAD to a specific function 2026-04-19 15:57:52 +02:00
sina
2ad4fa56ee create separate example for LBR 2026-04-19 15:49:12 +02:00
sina
1b08f14add add cross VMCALLs for setting core-specific LBR state 2026-04-14 19:23:51 +02:00
sina
a1d30abdf2 remove VMX instructions from hypertrace in favor of linking to hyperhv callbacks 2026-04-14 17:53:54 +02:00
sina
fba6f66e1a minor refactor and modify changelog 2026-02-24 15:48:23 +01:00
ShirokoLEET
bff7f7b7c3 fix by change to tracking VA when split pages 2026-02-20 23:14:37 +08:00
sina
c37ec6f3c0
apply command to the target thread from MBEC 2025-08-23 01:30:12 +02:00
sina
8e111d93c6
remove extra code from XSETBV command 2025-08-21 00:39:35 +02:00
sina
77029f330d
add XSETBV event extension command 2025-08-21 00:17:26 +02:00
Sina Karvandi
91831c0d95
Merge pull request #545 from unlockable/monitor_bug_fix
Fix: An infinite vm-exit bug for !monitor x command
2025-08-20 17:02:11 +02:00