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

Dragon  
Dragon
日歷
<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
統計
  • 隨筆 - 58
  • 文章 - 0
  • 評論 - 55
  • 引用 - 0

導航

常用鏈接

留言簿(3)

隨筆分類(58)

隨筆檔案(58)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 
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 = bEnable ? SE_PRIVILEGE_ENABLED : 0;
        AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
        fOK  = (GetLastError() ==  ERROR_SUCCESS);
        CloseHandle(hToken);
   }
   return fOK;
}
      在我寫的程序中,用VS編譯平臺運行可以殺進程,但Release后殺不了進程,后來加了這代碼就可以對指定進程進行寫操作。
轉自:http://m.shnenglu.com/tyt2008cn/archive/2008/02/17/42849.html
posted on 2010-04-20 13:03 Dragon 閱讀(1781) 評論(0)  編輯 收藏 引用 所屬分類: VC
 
Copyright © Dragon Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 久久精品99久久香蕉国产色戒| 欧美激情第六页| 亚洲午夜视频在线| 午夜一级久久| 久久aⅴ国产紧身牛仔裤| 亚洲欧美日韩国产综合| 欧美日韩国产91| 日韩一区二区久久| 亚洲高清色综合| 久久久久久尹人网香蕉| 国产主播精品在线| 久久影院午夜论| 久久天天综合| 亚洲国产成人久久| 亚洲国产精品传媒在线观看| 欧美成人一区二区三区| 亚洲一二三区精品| 亚洲伊人久久综合| 亚洲午夜精品一区二区三区他趣| 欧美日韩一级片在线观看| 亚洲免费观看高清在线观看 | 一区二区三区视频免费在线观看| 欧美乱妇高清无乱码| 中国成人黄色视屏| 亚洲午夜激情在线| 国产在线精品自拍| 蜜桃av噜噜一区| 欧美精品不卡| 羞羞漫画18久久大片| 欧美一区激情| 亚洲国产合集| 中文日韩欧美| 国产一区二区三区直播精品电影| 久久黄色小说| 欧美大片在线观看一区| 午夜激情久久久| 久久亚洲综合| 亚洲一区二区高清| 欧美影院成人| 一区二区电影免费观看| 西瓜成人精品人成网站| 亚洲国产高清在线观看视频| 99在线|亚洲一区二区| 国产日韩在线视频| 亚洲国产视频直播| 国产日产欧美a一级在线| 亚洲大片av| 国产欧美日韩综合精品二区| 欧美国产第一页| 国产免费一区二区三区香蕉精| 免费永久网站黄欧美| 欧美日韩三级| 久久久亚洲精品一区二区三区| 欧美成人激情在线| 性色一区二区三区| 欧美黑人国产人伦爽爽爽| 午夜精品视频| 欧美激情亚洲自拍| 另类天堂av| 国产乱人伦精品一区二区| 国产精品腿扒开做爽爽爽挤奶网站 | 国产精品综合久久久| 亚洲第一级黄色片| 国产欧美日韩精品一区| 亚洲欧洲一区二区三区| 国内久久婷婷综合| 亚洲视频精选| 日韩一级不卡| 老司机午夜精品视频| 午夜精品久久久久99热蜜桃导演| 老司机午夜免费精品视频| 久久久亚洲精品一区二区三区| 国产精品国产三级国产aⅴ入口 | 午夜精品福利在线| 欧美aⅴ99久久黑人专区| 久久精品亚洲精品| 国产欧美精品一区二区色综合| 亚洲欧洲精品天堂一级| 亚洲第一精品福利| 久久精品国产免费看久久精品 | 久久综合激情| 久久久久成人精品| 国产精品第13页| 亚洲精品乱码久久久久| 亚洲欧洲日韩在线| 久久一区二区三区av| 美女久久一区| 在线观看国产日韩| 久久综合激情| 欧美激情精品久久久| 亚洲国产成人精品久久| 久久影音先锋| 亚洲国产精品久久| 亚洲巨乳在线| 欧美日本在线看| 99热免费精品| 性视频1819p久久| 国产亚洲午夜| 老牛嫩草一区二区三区日本| 欧美黄色日本| 99香蕉国产精品偷在线观看| 欧美精选在线| 亚洲一级高清| 久久精品国产2020观看福利| 国产午夜精品美女视频明星a级| 久久爱www久久做| 欧美激情第10页| 久久精品一区二区国产| 免费日韩视频| 日韩一区二区精品视频| 国产精品乱码| 久久久另类综合| 亚洲美女视频网| 久久爱另类一区二区小说| 国产综合视频| 欧美精品激情在线| 亚洲在线观看免费| 免费不卡在线观看av| 99日韩精品| 国产欧美一区二区三区另类精品 | 一区二区三区www| 性欧美8khd高清极品| 精品成人一区| 欧美体内she精视频| 欧美一区二区三区视频| 欧美激情导航| 欧美伊人久久久久久久久影院| 韩国美女久久| 欧美日韩一区在线观看视频| 午夜久久tv| 亚洲国产一区二区三区a毛片| 亚洲天堂av高清| 黄页网站一区| 国产精品mv在线观看| 麻豆成人91精品二区三区| 国产婷婷色一区二区三区在线| 美女在线一区二区| 亚洲在线不卡| 最新中文字幕亚洲| 国产免费成人av| 欧美日韩国产精品一区| 久久精品欧洲| 亚洲一区二区影院| 亚洲国产精品99久久久久久久久| 亚洲性视频网站| 亚洲高清视频一区二区| 国产老肥熟一区二区三区| 欧美激情第五页| 久久精品理论片| 亚洲综合色丁香婷婷六月图片| 亚洲国产精品va在看黑人| 国产日韩欧美综合精品| 欧美日韩在线观看视频| 欧美风情在线观看| 久久夜色精品亚洲噜噜国产mv | 欧美黑人在线观看| 亚洲欧美日韩精品久久奇米色影视| 亚洲伦理久久| 亚洲国产欧美不卡在线观看| 久久久久99| 欧美一区二区免费| 亚洲视频自拍偷拍| 999亚洲国产精| 亚洲国产精品黑人久久久 | 亚洲一区www| 99精品福利视频| 亚洲七七久久综合桃花剧情介绍| 欧美成年视频| 欧美激情一区二区三区蜜桃视频| 久久综合一区| 久久综合免费视频影院| 久久女同互慰一区二区三区| 久久精视频免费在线久久完整在线看| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美韩国| 欧美怡红院视频| 久久青青草综合| 欧美国产成人精品| 亚洲国产欧美一区二区三区久久 | 亚洲免费影院| 亚洲一区二区成人| 午夜精品理论片| 小处雏高清一区二区三区| 欧美在线免费观看视频| 久久精品国产99国产精品澳门| 久久久噜噜噜久久| 欧美国产精品久久| 欧美日韩亚洲在线| 国产精品每日更新| 国内精品久久久久久| 亚洲国产精品久久久久秋霞不卡| 亚洲国产毛片完整版| 99亚洲伊人久久精品影院红桃| 亚洲午夜精品在线| 久久人人看视频| 亚洲黄一区二区三区| 中文欧美在线视频| 久久福利资源站| 欧美激情成人在线|