Что делает PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY? - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь понять политики снижения безопасности процессов, представленные в Windows 10. Скажем, PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY Я предполагаю, что должно возникать исключение при использовании плохого дескриптора.Итак, я проверяю это так:

bool bEnableIt = true;  //false

BOOL bR;
PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY pmshcp = {0};
pmshcp.RaiseExceptionOnInvalidHandleReference = bEnableIt;
pmshcp.HandleExceptionsPermanentlyEnabled = bEnableIt;
bR = ::SetProcessMitigationPolicy(ProcessStrictHandleCheckPolicy, &pmshcp, sizeof(pmshcp));

HANDLE hF = (HANDLE)0x1111;
::CloseHandle(hF);          //Fake handle

hF = ::CreateFile(L"C:\\Windows\\System32\\notepad.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
::CloseHandle(hF);
::CloseHandle(hF);          //Double closing

Но в обоих случаях, независимо от того, включаю я это или отключаю, или вообще не вызываю SetProcessMitigationPolicy, я получаю это исключение на обоих CloseHandle звонит, когда звонят по плохому дескриптору:

enter image description here

Так чего мне здесь не хватает?

PS.Я звоню из 64-битного процесса в Windows 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...