Can I have any way to detect the Driver Signing Policy status?

后端 未结 2 1862
孤城傲影
孤城傲影 2021-01-27 06:03

I have a modified driver and must be installed when driver signing is disabled, so I want to detect this status to remind users to reboot to SafeMode. I had tried this command :

2条回答
  •  渐次进展
    2021-01-27 06:44

    Use the following code to detect whether or not TESTSIGNING is enabled:

    #include 
    #pragma comment(lib, "ntdll.lib")
    
    
    //Check if testsigning is enabled
    SYSTEM_CODEINTEGRITY_INFORMATION sci = {0};
    ULONG dwcbSz = 0;
    sci.Length = sizeof(sci);
    if(NtQuerySystemInformation(
        /*SystemCodeIntegrityInformation*/ (SYSTEM_INFORMATION_CLASS)0x67, 
        &sci, 
        sizeof(sci), 
        &dwcbSz) >= 0 &&
        dwcbSz == sizeof(sci))
    {
        BOOL bTestsigningEnabled = !!(sci.CodeIntegrityOptions & /*CODEINTEGRITY_OPTION_TESTSIGN*/ 0x2);
        //Note that testsigning will play no role if bit CODEINTEGRITY_OPTION_ENABLED (or 0x1) is not set in sci.CodeIntegrityOptions
    
    }
    

提交回复
热议问题