青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

微塵--KeepMoving

為了忘卻的記憶
posts - 3, comments - 2, trackbacks - 0, articles - 13
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

GetCurrentProcessID 得到當前進程的ID OpenProcessToken 得到進程的令牌句柄LookupPrivilegeValue 查詢進程的權限 AdjustTokenPrivileges 判斷令牌權限

要對一個任意進程(包括系統安全進程和服務進程)進行指定了寫相關的訪問權的OpenProcess操作,只要當前進程具有SeDeDebug權限就可以了。要是一個用戶是Administrator或是被給予了相應的權限,就可以具有該權限。可是,就算我們用Administrator帳號對一個系統安全進程執行OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)還是會遇到“訪問拒絕”的錯誤。什么原因呢?原來在默認的情況下進程的一些訪問權限是沒有被使能(Enabled)的,所以我們要做的首先是使能這些權限。與此相關的一些API函數有OpenProcessToken、LookupPrivilegevalue、AdjustTokenPrivileges。我們要修改一個進程的訪問令牌,首先要獲得進程訪問令牌的句柄,這可以通過OpenProcessToken得到,函數的原型如下:

BOOL OpenProcessToken(
HANDLE ProcessHandle,
DWORD DesiredAccess,
PHANDLE TokenHandle
);
第一參數是要修改訪問權限的進程句柄;第三個參數就是返回的訪問令牌指針;第二個參數指定你要進行的操作類型,如要修改令牌我們要指定第二個參數為TOKEN_ADJUST_PRIVILEGES(其它一些參數可參考Platform SDK)。通過這個函數我們就可以得到當前進程的訪問令牌的句柄(指定函數的第一個參數為GetCurrentProcess()就可以了)。接著我們可以調用AdjustTokenPrivileges對這個訪問令牌進行修改。AdjustTokenPrivileges的原型如下:
BOOL AdjustTokenPrivileges(
HANDLE TokenHandle, // handle to token
BOOL DisableAllPrivileges, // disabling option
PTOKEN_PRIVILEGES NewState, // privilege information
DWORD BufferLength, // size of buffer
PTOKEN_PRIVILEGES PreviousState, // original state buffer
PDWORD ReturnLength // required buffer size
);
第一個參數是訪問令牌的句柄;第二個參數決定是進行權限修改還是除能(Disable)所有權限;第三個參數指明要修改的權限,是一個指向TOKEN_PRIVILEGES結構的指針,該結構包含一個數組,數據組的每個項指明了權限的類型和要進行的操作; 第四個參數是結構PreviousState的長度,如果PreviousState為空,該參數應為NULL;第五個參數也是一個指向TOKEN_PRIVILEGES結構的指針,存放修改前的訪問權限的信息,可空;最后一個參數為實際PreviousState結構返回的大小。在使用這個函數前再看一下TOKEN_PRIVILEGES這個結構,其聲明如下:

typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[];
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
PrivilegeCount指的數組原素的個數,接著是一個LUID_AND_ATTRIBUTES類型的數組,再來看一下LUID_AND_ATTRIBUTES這個結構的內容,聲明如下:

typedef struct _LUID_AND_ATTRIBUTES {
LUID Luid;
DWORD Attributes;
} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES

第二個參數就指明了我們要進行的操作類型,有三個可選項: SE_PRIVILEGE_ENABLED、SE_PRIVILEGE_ENABLED_BY_DEFAULT、SE_PRIVILEGE_USED_FOR_ACCESS。要使能一個權限就指定Attributes為SE_PRIVILEGE_ENABLED。第一個參數就是指權限的類型,是一個LUID的值,LUID就是指locally unique identifier,我想GUID大家是比較熟悉的,和GUID的要求保證全局唯一不同,LUID只要保證局部唯一,就是指在系統的每一次運行期間保證是唯一的就可以了。另外和GUID相同的一點,LUID也是一個64位的值,相信大家都看過GUID那一大串的值,我們要怎么樣才能知道一個權限對應的LUID值是多少呢?這就要用到另外一個API函數LookupPrivilegevalue,其原形如下:

BOOL LookupPrivilegevalue(
LPCTSTR lpSystemName, // system name
LPCTSTR lpName, // privilege name
PLUID lpLuid // locally unique identifier
);
第一個參數是系統的名稱,如果是本地系統只要指明為NULL就可以了,第三個參數就是返回LUID的指針,第二個參數就是指明了權限的名稱,如“SeDebugPrivilege”。在Winnt.h中還定義了一些權限名稱的宏,如:

#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")

#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")

#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")

#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")

這樣通過這三個函數的調用,我們就可以用OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)來打獲得任意進程的句柄,并且指定了所有的訪問權。

==微塵附加:完整源代碼, 出自Windows核心編程
BOOL EnableDebugPrivilege(BOOL bEnable)
{
      //Enabling the debug privilege allows the application to see
      //information about service application
     BOOL fOK = FALSE;     //Assume function fails
     HANDLE hToken;
     //Try to open this process's acess token
     if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
    {
         //Attempt to modify the "Debug" privilege
         TOKEN_PRIVILEGES tp;
         tp.PrivilegeCount = 1;
         LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
         tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;
        AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
        fOk  = (GetLastError() ==  ERROR_SUCESS);
        CloseHandle(hToken);
   }
   return fOk;
}
    }

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品欧美日韩一区| 亚洲欧洲视频| 国产亚洲一区二区三区在线播放| 国产欧美日韩综合| 亚洲黄色大片| 欧美一级成年大片在线观看| 久久综合伊人77777蜜臀| 亚洲国产欧美一区二区三区久久 | 免费欧美在线| 亚洲欧美日韩中文视频| 欧美激情影院| 亚洲国产精品传媒在线观看| 欧美综合国产精品久久丁香| 亚洲精品日韩激情在线电影| 久久天天躁夜夜躁狠狠躁2022| 欧美无乱码久久久免费午夜一区| 亚洲国产精品久久久久| 亚洲日本免费| 欧美国产视频在线| 亚洲国产欧美在线人成| 亚洲精品影院在线观看| 国产伦精品一区二区三区视频孕妇 | 国产乱码精品一区二区三区av| 欧美一区二区三区男人的天堂 | 国产精品99久久久久久宅男| 免费短视频成人日韩| 欧美成年人视频网站| 尤物yw午夜国产精品视频明星| 欧美一区二区三区的| 久久露脸国产精品| 在线看国产日韩| 女主播福利一区| 久久久www免费人成黑人精品| 国产日韩成人精品| 亚洲国产精彩中文乱码av在线播放| 久久国产一区二区| 国产一区亚洲| 久久久久国产精品www| 亚洲女同精品视频| 久久视频精品在线| 日韩一区二区免费看| 欧美日韩网址| 亚洲自拍偷拍网址| 中国成人黄色视屏| 国产精品久久久久久久久| 亚洲欧美日韩另类| 午夜久久黄色| 狠狠色丁香婷婷综合| 美乳少妇欧美精品| 国产麻豆91精品| 亚洲免费电影在线| 亚洲国内精品| 久久精品国产欧美亚洲人人爽| 亚洲午夜精品久久| 亚洲欧美中文日韩在线| 在线一区欧美| 久久成人精品一区二区三区| 亚洲午夜在线视频| 欧美精品免费在线观看| 免播放器亚洲一区| 韩国av一区二区三区| 亚洲欧美日韩区| 亚洲影院色在线观看免费| 欧美日本精品一区二区三区| 亚洲欧美在线看| 亚洲综合色自拍一区| 亚洲一区二区三区免费观看| 欧美国产1区2区| 亚洲电影有码| 亚洲黄色片网站| 美女精品视频一区| 亚洲特黄一级片| 欧美日韩国产成人在线91| 午夜欧美理论片| 国产精品男gay被猛男狂揉视频| 久久精品国产精品亚洲| 欧美激情精品| 欧美高清一区| 国产视频久久久久| 日韩一区二区电影网| 亚洲一区999| 国产精品影院在线观看| 午夜免费在线观看精品视频| 久久精品国产99| 精品91视频| 午夜精品久久久久99热蜜桃导演| 午夜精品久久久久久久99黑人| 国产精品区一区| 久久国产精品色婷婷| 欧美电影专区| 一区二区高清| 国产喷白浆一区二区三区| 久久成人久久爱| 亚洲激情综合| 亚洲欧美在线免费观看| 一区二区视频在线观看| 欧美成人69av| 亚洲小视频在线观看| 亚洲欧洲精品一区二区三区不卡| 91久久午夜| 亚洲视频第一页| 国产欧美一区二区三区视频 | 亚洲第一黄色网| 久久伊伊香蕉| 亚洲国产精品女人久久久| 久久久久国产一区二区三区四区| 久久婷婷色综合| 亚洲成人原创| 欧美日韩在线一二三| 亚洲女人天堂成人av在线| 国产精品日韩高清| 久久成人免费日本黄色| 欧美~级网站不卡| 一区二区91| 欧美日韩岛国| 亚洲一区二区成人| 在线中文字幕一区| 国产日韩在线播放| 久久久www| 久久激情视频久久| 一本色道久久综合狠狠躁篇的优点| 欧美视频一区二区在线观看 | 国产精品久久久久高潮| 久久夜色精品亚洲噜噜国产mv | 最新日韩欧美| 欧美午夜视频| 久久综合999| 亚洲精品国产欧美| 欧美成人网在线| 亚洲制服丝袜在线| 亚洲第一视频| 国产精品乱码一区二区三区| 亚洲欧美激情在线视频| 欧美高清视频在线| 香蕉久久国产| 亚洲国产日韩一级| 国产欧美一区二区精品秋霞影院| 久久人人爽人人爽爽久久| 在线亚洲美日韩| 欧美激情综合| 国产精品福利av| 亚洲免费视频成人| 亚洲一级黄色av| 亚洲激情女人| 欧美国产日本高清在线| 久久精品国产77777蜜臀| 日韩一级在线| 欧美日韩综合一区| 欧美成人乱码一区二区三区| 欧美一区日韩一区| 午夜精品视频在线观看一区二区| 亚洲精品无人区| 亚洲高清不卡一区| 欧美波霸影院| 麻豆av一区二区三区| 久久久久久高潮国产精品视| 亚洲精品视频二区| 一区二区三区精品久久久| 91久久久一线二线三线品牌| 国产中文一区二区三区| 欧美三级免费| 国产日韩精品一区观看| 国产精品男gay被猛男狂揉视频| 欧美日韩午夜在线| 欧美人交a欧美精品| 欧美色精品在线视频| 欧美日韩免费网站| 欧美色视频一区| 欧美视频一区| 欧美日韩亚洲不卡| 国产欧美日韩视频一区二区三区| 国产精品二区二区三区| 国产精品都在这里| 国产精品成人午夜| 韩国一区二区三区在线观看| 影音先锋一区| 亚洲乱码精品一二三四区日韩在线| 久久影视精品| 久久久久久久一区二区三区| 久久久成人网| 美女性感视频久久久| 欧美激情一二三区| 免费黄网站欧美| 国产精品yjizz| 国产一区二区在线免费观看| 国产亚洲一区二区三区在线观看| 国产字幕视频一区二区| 国外精品视频| aⅴ色国产欧美| 亚洲欧美资源在线| 欧美一二区视频| 亚洲电影在线观看| 一区二区久久| 久久久久久精| 欧美性猛交xxxx乱大交蜜桃 | 亚洲一级黄色片| 久久青青草综合| 欧美xxxx在线观看| 国产一区日韩二区欧美三区| 亚洲激情精品|