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

微塵--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>
            欧美日韩国产小视频| 最新日韩在线视频| 国产一区清纯| 狠狠色丁香婷婷综合久久片| 国产精品香蕉在线观看| 国产日韩亚洲欧美精品| 激情亚洲一区二区三区四区| 亚洲国产精品成人| 一本色道久久88精品综合| 亚洲综合另类| 快射av在线播放一区| 亚洲福利免费| 亚洲欧美日韩精品久久久| 久久久久一区二区三区| 欧美日韩国产综合视频在线观看中文| 国产精品久久久久久久app| 国模一区二区三区| 一区二区三区日韩在线观看| 久久精品国产亚洲精品| 亚洲激情一区二区三区| 亚洲专区一区二区三区| 老司机亚洲精品| 国产精品家庭影院| 亚洲人成艺术| 久久久精品国产一区二区三区| 亚洲黄色影片| 欧美中文字幕在线播放| 欧美三级电影一区| **网站欧美大片在线观看| 亚洲视频axxx| 巨胸喷奶水www久久久免费动漫| 日韩亚洲欧美成人| 狂野欧美一区| 国产一区在线视频| 亚洲欧美日韩国产综合| 亚洲人成高清| 免费久久99精品国产自在现线| 国产午夜精品全部视频播放 | 一本色道**综合亚洲精品蜜桃冫| 亚洲欧美日韩国产一区| 欧美日本免费一区二区三区| 国产综合一区二区| 欧美亚洲一区在线| 亚洲最新视频在线| 久久精品国产免费观看| 亚洲日本va在线观看| 久久久久一区二区三区| 国产色婷婷国产综合在线理论片a| 亚洲日本久久| 女同性一区二区三区人了人一| 亚洲欧美一区二区精品久久久| 欧美日韩一区二区视频在线观看| 亚洲国产mv| 欧美不卡在线| 猛男gaygay欧美视频| 亚洲大胆美女视频| 另类天堂av| 久久免费国产| 亚洲国产高清在线观看视频| 欧美1区2区3区| 久久综合网络一区二区| 在线视频观看日韩| 亚洲第一综合天堂另类专| 美女久久网站| 亚洲美女中文字幕| 99riav久久精品riav| 国产精品伦理| 久久青草久久| 欧美韩国日本一区| 亚洲深夜福利网站| 午夜精品国产精品大乳美女| 国产在线日韩| 亚洲高清视频的网址| 欧美日韩激情网| 性色一区二区三区| 久久久久亚洲综合| 99热在线精品观看| 亚洲深爱激情| 国产日韩欧美一区二区三区在线观看| 久久成人免费日本黄色| 久久久亚洲国产美女国产盗摄| 亚洲高清在线精品| 99re8这里有精品热视频免费 | 国产精品影院在线观看| 欧美在线免费一级片| 久久九九全国免费精品观看| 亚洲人体影院| 亚洲女人av| 亚洲人成在线影院| 亚洲男人av电影| 亚洲人成人一区二区在线观看| 一本色道久久加勒比88综合| 国色天香一区二区| 日韩一级大片| 黄网站色欧美视频| 99成人精品| 18成人免费观看视频| av成人福利| 亚洲高清成人| 亚洲一区二区三区乱码aⅴ蜜桃女| 在线观看欧美成人| 亚洲欧美电影在线观看| 久久精品国产一区二区三| 久久精品30| 亚洲日本成人在线观看| 一区二区三区国产| 影音先锋久久精品| 一本久久精品一区二区| 伊人久久亚洲影院| 亚洲午夜久久久| 亚洲国产综合在线| 亚洲欧美激情诱惑| 亚洲精品美女在线观看播放| 欧美一区二区三区免费观看视频| 亚洲免费观看高清完整版在线观看| 亚洲欧美日韩在线综合| 一区二区精品在线观看| 久久在线观看视频| 久久婷婷激情| 国产日韩欧美在线一区| 妖精视频成人观看www| 悠悠资源网久久精品| 亚洲欧美日韩视频二区| 亚洲桃花岛网站| 欧美精品aa| 欧美激情乱人伦| 国内精品国产成人| 午夜精品久久久久久久久久久久| 一区二区国产日产| 欧美精品一区二区三| 欧美大片在线影院| 亚洲盗摄视频| 久久亚洲美女| 女人天堂亚洲aⅴ在线观看| 国产亚洲成精品久久| 亚洲在线不卡| 欧美一区2区视频在线观看| 欧美午夜精品理论片a级按摩| 91久久国产综合久久91精品网站| 在线日韩一区二区| 美女性感视频久久久| 欧美激情精品久久久久久蜜臀 | 一区二区三区视频在线播放| 亚洲人体1000| 欧美久久久久久久久久| 91久久国产综合久久91精品网站| 亚洲人成在线播放| 欧美日韩国产精品一区| 一区二区国产精品| 久久99伊人| 在线免费观看一区二区三区| 久久综合免费视频影院| 亚洲国内精品| 亚洲欧美视频一区| 国产日韩亚洲欧美综合| 久久久久综合网| 亚洲国产美国国产综合一区二区| 一区二区三区福利| 国产欧美日韩视频一区二区| 久久亚洲二区| 日韩一二在线观看| 久久精品国亚洲| 亚洲国产视频一区二区| 欧美日韩国产在线| 欧美一区综合| 亚洲一区国产精品| 亚洲精品免费在线观看| 影音先锋亚洲精品| 欧美久久久久中文字幕| 在线综合亚洲| 欧美本精品男人aⅴ天堂| 一级成人国产| 国产一区二区日韩| 欧美区一区二| 久久成人免费网| 亚洲精品免费电影| 久久久久国产精品午夜一区| 亚洲日本va午夜在线影院| 国产精品黄色| 欧美xxx在线观看| 香蕉久久精品日日躁夜夜躁| 亚洲国产另类 国产精品国产免费| 午夜欧美大尺度福利影院在线看| 在线观看欧美亚洲| 国产精品久久久久久久久久免费看| 久久国产成人| 亚洲午夜免费视频| 亚洲激情视频网站| 麻豆91精品| 久久黄色小说| 亚洲欧美www| 一区二区激情视频| 亚洲日韩中文字幕在线播放| 国产亚洲欧美中文| 国产精品久久久久久久电影| 欧美激情偷拍| 欧美成人免费播放| 欧美/亚洲一区| 久久综合伊人77777蜜臀| 欧美中文字幕精品|