GetSecurityInfo function (aclapi.h) - Win32 apps | Microsoft Learn ConvertSecurityDescriptorToStringSecurityDescriptorW function (sddl.h) - Win32 apps | Microsoft Learn SDDL for Device Objects - Windows drivers | Microsoft Learn (сравнить через strcmp\wcscmp) Код (C): GetSecurityInfo(handle, SE_KERNEL_OBJECT, OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION, &pSidOwner, &pSidGroup, nullptr, nullptr, &pSecurityDescriptor); ConvertSecurityDescriptorToStringSecurityDescriptorW(pSecurityDescriptor, SDDL_REVISION_1, OWNER_SECURITY_INFORMATION, &StringSecurityDescriptorOwner, nullptr); ConvertSecurityDescriptorToStringSecurityDescriptorW(pSecurityDescriptor, SDDL_REVISION_1, GROUP_SECURITY_INFORMATION, &StringSecurityDescriptorGroup, nullptr); if (wcscmp(StringSecurityDescriptorOwner, TEXT("O:BA")) == 0) {} if (wcscmp(StringSecurityDescriptorOwner, TEXT("O:SY")) == 0) {} if (wcscmp(StringSecurityDescriptorGroup, TEXT("G:BA")) == 0) {} if (wcscmp(StringSecurityDescriptorGroup, TEXT("G:SY")) == 0) {}
IsUserAnAdmin() из Shell32.dll (без параметров) возвращает True, если запуск под админом, иначе False. Не смотря на то, что мокрые считают её устаревшей, функция благополучно дожила от XP до Win10.
Там же под капотом все тот же CheckTokenMemberShip , по факту это просто обертка. ТС как всегда, год не ходил на васм - все по прежнему. Открыл бы для себя хотя бы чат_гпт или это бот и пишет, я хз.