我试图使用新的Windows 1709功能,允许将DLL加载到安全区内存。
我没有找到任何文档或这样做的示例。 据我了解,这些是实现它的步骤:
使用IsEnclaveTypeSupported
检查是否支持VBS(仅VBS支持安全区图像)安全区类型。
使用CreateEnclave
功能创建安全区。
使用LoadEnclaveImage
功能将图像加载到安全区内存中。
以下是我尝试使用的代码段:
HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessPid());
BOOL vbsSupport = IsEnclaveTypeSupported(ENCLAVE_TYPE_VBS); //returns TRUE
ENCLAVE_CREATE_INFO_VBS vci = { 0 };
vci.Flags = 1;
LPVOID lpAddress = CreateEnclave(h, NULL, 0x10000, NULL, ENCLAVE_TYPE_VBS, &vci, sizeof(ENCLAVE_CREATE_INFO_VBS), NULL);
调用CreateEnclave
返回NULL
并将最后一个错误代码设置为0x32(不支持请求)。
任何想法如何使它工作?
答案 0 :(得分:0)
是否启用了Hyper-V? 飞地需要工作。