日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Windows2000下用戶模式的內(nèi)存掃描( 四 )


第二個(gè)參數(shù)就指明了我們要進(jìn)行的操作類型,有三個(gè)可選項(xiàng):
SE_PRIVILEGE_ENABLED 、 SE_PRIVILEGE_ENABLED_BY_DEFAULT 、
SE_PRIVILEGE_USED_FOR_ACCESS。要使能一個(gè)權(quán)限就指定 Attributes 為
SE_PRIVILEGE_ENABLED。第一個(gè)參數(shù)就是指權(quán)限的類型,是一個(gè) LUID 的
值,LUID 就是指 locally unique identifier,我想 GUID 大家是比較熟
悉的,和 GUID 的要求保證全局唯一不同,LUID 只要保證局部唯一,就是
指在系統(tǒng)的每一次運(yùn)行期間保證是唯一的就可以了 。另外和 GUID 相同的
一點(diǎn),LUID 也是一個(gè) 64 位的值,相信大家都看過(guò) GUID 那一大串的值,我
們要怎么樣才能知道一個(gè)權(quán)限對(duì)應(yīng)的 LUID 值是多少呢?這就要用到另外
一個(gè) API 函數(shù) LookupPrivilegeValue,其原形如下:
BOOL LookupPrivilegeValue( LPCTSTR lpSystemName , // system name LPCTSTR lpName , // privilege name PLUID lpLuid // locally unique identifier ); 第一個(gè)參數(shù)是系統(tǒng)的名稱,如果是本地系統(tǒng)只要指明為 NULL 就可以了,
第三個(gè)參數(shù)就是返回 LUID 的指針,第二個(gè)參數(shù)就是指明了權(quán)限的名稱,
如“ SeDebugPrivilege ” 。在 Winnt.h 中還定義了一些權(quán)限名稱的宏,
如:
#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
這樣通過(guò)這三個(gè)函數(shù)的調(diào)用,我們就可以用 OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)來(lái)打獲得任意進(jìn)程的句柄,并
且指定了所有的訪問(wèn)權(quán) 。
四 總結(jié)
用戶模式的內(nèi)存掃描還是具有想當(dāng)?shù)木窒扌?,它不能完全掃?br /> Windows2000的全部?jī)?nèi)存空間 。要對(duì)系統(tǒng)空間進(jìn)行掃描,在Windows2000下,用戶模式的應(yīng)用程序是不能實(shí)現(xiàn)的 。要實(shí)現(xiàn)對(duì)系統(tǒng)空間的掃描,必須
通過(guò)工作于核心模式的程序—驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn) 。

推薦閱讀