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

微塵--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>
            欧美精品免费在线| 国产乱肥老妇国产一区二| 在线观看三级视频欧美| 蜜臀av一级做a爰片久久| 久久午夜精品一区二区| 亚洲韩国青草视频| 亚洲国产精品久久91精品| 欧美激情国产日韩精品一区18| 亚洲国产日韩在线| 亚洲国产精品va| 欧美日韩色婷婷| 欧美一区二区三区在| 欧美一区在线看| 亚洲激情视频在线| 亚洲一区二区三区四区五区午夜| 国产精品综合| 亚洲第一区在线| 欧美午夜精品理论片a级大开眼界| 欧美有码在线视频| 欧美成人免费网站| 午夜影院日韩| 欧美二区视频| 久久www成人_看片免费不卡| 久久夜色精品亚洲噜噜国产mv| 99精品视频网| 久久久久综合一区二区三区| 亚洲日韩中文字幕在线播放| 亚洲欧美亚洲| 日韩视频在线播放| 香蕉乱码成人久久天堂爱免费| 亚洲福利视频一区二区| 夜夜嗨av色一区二区不卡| 国产一区二区三区免费不卡| 亚洲精品之草原avav久久| 国产夜色精品一区二区av| 最新国产成人在线观看| 国模私拍一区二区三区| 日韩午夜免费视频| 亚洲国产人成综合网站| 亚洲性xxxx| 夜色激情一区二区| 蜜臀久久99精品久久久久久9| 欧美一级大片在线免费观看| 欧美精品在线极品| 老色鬼久久亚洲一区二区| 国产精品亚洲网站| 亚洲精品一二| 亚洲精品欧美| 久久亚洲视频| 久久婷婷综合激情| 国产亚洲一区二区三区在线播放| 一本大道久久a久久精品综合| 亚洲福利视频一区二区| 久久精品盗摄| 久久久一区二区| 国产专区精品视频| 先锋影音国产一区| 欧美一区观看| 国产拍揄自揄精品视频麻豆| 中文精品视频| 亚洲你懂的在线视频| 欧美日韩亚洲网| 亚洲另类一区二区| 在线一区观看| 欧美性做爰毛片| 一本一本久久| 亚洲一区欧美激情| 欧美亚一区二区| 一区二区免费看| 亚洲影视中文字幕| 国产精品最新自拍| 性做久久久久久| 久久精品国产99国产精品| 国产亚洲激情视频在线| 久久丁香综合五月国产三级网站| 久久久久久69| 亚洲激情av在线| 欧美日韩精品系列| 亚洲综合精品一区二区| 欧美在线资源| 亚洲成人在线观看视频| 欧美福利电影网| 中文国产亚洲喷潮| 久久久亚洲午夜电影| 亚洲国产高清在线| 欧美日韩在线影院| 欧美亚洲在线观看| 浪潮色综合久久天堂| 日韩午夜电影在线观看| 国产精品毛片| 久久这里有精品视频| 亚洲人成免费| 久久久精品动漫| 亚洲毛片一区| 国产亚洲精品成人av久久ww| 久久国产主播精品| 亚洲毛片在线| 美女尤物久久精品| 亚洲视频在线二区| 欧美日韩三级一区二区| 你懂的一区二区| 亚洲尤物视频在线| 女同性一区二区三区人了人一| 亚洲美女网站| 国产精品三上| 欧美成人一区在线| 亚洲欧美精品在线观看| 亚洲激情精品| 久久精品国产视频| 一区二区三区视频免费在线观看| 国产伊人精品| 国产精品成人播放| 蘑菇福利视频一区播放| 午夜视频一区在线观看| 亚洲国产欧美不卡在线观看| 香蕉久久久久久久av网站| 亚洲免费av电影| 在线日韩中文| 国产主播精品在线| 国产精品久久久久秋霞鲁丝 | 一区二区在线观看视频在线观看 | 亚洲免费中文| 91久久国产自产拍夜夜嗨| 久久久久久9| 欧美亚洲一区二区三区| 一区二区福利| 99re视频这里只有精品| 亚洲第一页中文字幕| 国产麻豆午夜三级精品| 欧美视频一区二区在线观看 | 欧美精品一区二区在线观看| 久久精品免费看| 久久都是精品| 久久精品在这里| 欧美一区三区二区在线观看| 亚洲一级免费视频| 亚洲一区二区成人在线观看| 一本色道**综合亚洲精品蜜桃冫 | 亚洲免费av电影| 亚洲国产精品久久久久| 欧美国产一区二区| 亚洲福利视频专区| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久蜜桃香蕉精品一区二区三区| 久久精品99无色码中文字幕| 欧美在线一二三| 久久青青草综合| 美女黄毛**国产精品啪啪| 欧美va亚洲va日韩∨a综合色| 美女国内精品自产拍在线播放| 两个人的视频www国产精品| 巨胸喷奶水www久久久免费动漫| 久久躁狠狠躁夜夜爽| 欧美jjzz| 亚洲日本久久| 亚洲线精品一区二区三区八戒| 午夜精品成人在线| 久久久噜噜噜久噜久久| 六十路精品视频| 欧美日韩一区二区三区四区在线观看| 欧美日韩另类字幕中文| 国产伦精品一区二区三区照片91| 国产综合自拍| 亚洲精品中文字幕有码专区| 亚洲一区二区欧美| 久久免费视频一区| 亚洲国产精品尤物yw在线观看 | 欧美国产日韩一区| 亚洲精品一区中文| 亚洲综合社区| 久久综合网hezyo| 国产精品国产a级| 精品动漫3d一区二区三区免费| 亚洲全部视频| 久久丁香综合五月国产三级网站| 你懂的网址国产 欧美| 99re成人精品视频| 久久精品亚洲热| 欧美日韩一二三区| 伊人成人在线| 午夜在线一区二区| 亚洲第一精品电影| 亚洲欧美日韩直播| 欧美国产成人在线| 国内精品久久久久久| 一区二区三区黄色| 蜜乳av另类精品一区二区| 一区二区三区 在线观看视频| 久久成人国产| 国产精品高潮呻吟久久| 最新成人av网站| 久久九九免费| 一区二区三区|亚洲午夜| 欧美aaa级| 影音先锋日韩资源| 欧美在线精品免播放器视频| 日韩视频在线观看国产| 另类春色校园亚洲| 国产综合久久久久久鬼色| 亚洲欧洲99久久|