ユーザーが SeLoadDriver 権限を持っているかどうかを確認しようとしています。私は PLUID を持っています:
PLUID pld;
LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, pld);
しかし、ユーザーが特権を持っているかどうかを示すブール値を PLUID から取得する方法がわかりません。関連するメソッドを読みましたが、PLUID 値から直接これを取得する簡単な方法だと思います。
ありがとう
ユーザーが SeLoadDriver 権限を持っているかどうかを確認しようとしています。私は PLUID を持っています:
PLUID pld;
LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, pld);
しかし、ユーザーが特権を持っているかどうかを示すブール値を PLUID から取得する方法がわかりません。関連するメソッドを読みましたが、PLUID 値から直接これを取得する簡単な方法だと思います。
ありがとう
それよりも少し複雑です。
まず、プロセス トークンの特権セットを取得する必要があります (を呼び出してGetTokenInformation()
)。次に、そこから取得したバッファ (構造体の配列LUID_AND_ATTRIBUTES
) をスキャンして、取得した LUID を探しますLookupPrivilegeValue()
。次に、見つけた を使用して、必要なフラグが含まれているLUID_AND_ATTRIBUTES
かどうかを確認できます (この場合)。Attributes
SE_PRIVILEGE_ENABLED
SE_PRIVILEGE_REMOVED
有効な権限を確認するときは、確認している に設定されていないことも確認する必要があることに注意してくださいAttributes
。SE_PRIVILEGE_REMOVED
との両方SE_PRIVILEGE_ENABLED
が削除され、有効になっていない特権...