簡體   English   中英

如何獲取進程特權(Windows驅動程序)?

[英]How retrive Process Privilege (windows drivers)?

我的驅動程序中有一個IRP和EPROCESS對象,我想知道如何從這些結構中檢索進程特權(例如normalAdministratorSYSTEM )?

 KPROCESSOR_MODE ProcessRequestorMode = pIrp->RequestorMode;
        UNICODE_STRING PRM;
        if (ProcessRequestorMode == KernelMode)
            status = RtlInitUnicodeStringEx(&PRM, L"Kernel-Mode");
        else
        {
            status = RtlInitUnicodeStringEx(&PRM, L"User-Mode");
            //////////////////////////TODO////////////////////
            //retrieving process previlage
            //////////////////////////////////////////////////
        }
        DBGMSG1("Processor Mode : %wZ   ", PRM);
        if (!NT_SUCCESS(status))
        {
            DBGMSG0("Can not convert RequestorMode to UNICODE_STRING\n");
            ASSERT(FALSE);
            return status;
        }

此信息存儲在過程令牌中。
您可以使用PsReferencePrimaryToken獲得該信息,如果該過程正在模擬,則可以改為使用PsReferenceImpersonationToken。 之后,您只需使用ZwQueryInformationToken來查詢TokenUser的令牌。

祝好運,
加布里埃爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM