CreateEnclave VBS пытается получить доступ к неверному адресу

Я пытаюсь создать простой Анклав, используя систему безопасности на основе виртуализации Hyper-V, которая была выпущена в прошлом году, однако я обнаружил, что не хватает документации по MSDN. Из-за этого я не могу правильно диагностировать проблему, которая у меня возникла.

Вот код, который не работает для меня с enclave == null давая мне Attempt to access invalid address. И я не совсем уверен, что это не удается получить доступ.

if (IsEnclaveTypeSupported(ENCLAVE_TYPE_VBS))
{
DWORD lpError = 0;
ENCLAVE_CREATE_INFO_VBS vci = { 0 };
vci.Flags = 1;

PVOID enclave = CreateEnclave(GetCurrentProcess(),
NULL,
4096 * 2,
NULL,
ENCLAVE_TYPE_VBS,
&vci,
sizeof(ENCLAVE_CREATE_INFO_VBS),
&lpError);

if (enclave != NULL)
{
printf("Enclave created\n");
}
else
{
printf(GetLastErrorAsString().c_str());
}
}
else {
printf("VBS not supported\n");
}

0

Решение

Хорошо, я решил это, похоже, dwSize имеет минимальный размер, а также работает только на четных объемах Мб.

Например, 1Mb, 3Mb, 5Mb и т. Д. Не работают, возвращая «Попытка доступа к неверному адресу». в то время как 2Mb, 4Mb, 6Mb и т. д. работают как положено.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]