-
-
未解决
[求助]vt-x虚拟化多核浸染时,兼容不同数量的CPU核心时出现问题
10雪币
-
发表于:
2025-12-7 18:47
1752
-
未解决 [求助]vt-x虚拟化多核浸染时,兼容不同数量的CPU核心时出现问题
10雪币
如题,多核浸染代码如下:
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]);
init_vcpu(vcpu, cpu_id);
KeSignalCallDpcSynchronize(system_arg2);
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。
为什么会出现这样的问题?懂的大牛指点一下,谢谢!
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2025-12-7 18:49
被ALwalker编辑
,原因: 错别字