-
-
未解决 [求助]vt-x虚拟化多核浸染时,兼容不同数量的CPU核心时出现问题 10雪币
-
发表于: 2025-12-7 18:47 368
-
如题,多核浸染代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // 多核浸染KeGenericCallDpc(synchronization_infection, NULL);BOOLEAN synchronization_infection(KDPC* dpc, PVOID deferred_context, PVOID system_arg1, PVOID system_arg2){ ULONG cpu_id = KeGetCurrentProcessorIndex(); struct __vcpu* vcpu = (struct __vcpu*)(&vcpu_info.vcpu_info_table[cpu_id]); // 初始化vmcs并执行vmlaunch init_vcpu(vcpu, cpu_id); // Wait for all DPCs to synchronize at this point KeSignalCallDpcSynchronize(system_arg2); // Mark the DPC as being complete KeSignalCallDpcDone(system_arg1); DbgPrintEx(DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "[ok] cpu-%d synchronization infection completed.\n", vcpu->cpu_id); return TRUE;} |
经过测试发现,1/2/3/6核时可正常实现多核浸染,但当核心数为4/8时卡死。

处理器核心数为2时,正常实现虚拟化。

处理器核心数为4时,执行init_vcpu卡死。
当前物理机CPU为4核8线程,使用VMware® Workstation 17 Pro。
为什么会出现这样的问题?懂的大牛指点一下,谢谢!
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!
最后于 2025-12-7 18:49
被ALwalker编辑
,原因: 错别字
赞赏
他的文章
赞赏
雪币:
留言: