VC 積累 之二 黑客程式設計之提權SDK

2021-06-08 07:21:14 字數 1673 閱讀 4462

提權啊。。。。1要開啟當前程序的許可權令牌。。。。。。。2要獲取許可權標識。。。。。。。3要提公升令牌許可權。。。。。。。。。。。。3個api函式搞定

分別是:

openprocesstoken();

lookupprivilegevalue();

adjusttokenprivileges();

bool openprocesstoken(

__in handle processhandle, //要修改訪問許可權的程序控制代碼

__in dword desiredaccess, //指定你要進行的操作型別

__out phandle tokenhandle //返回的訪問令牌指標

);  

bool lookupprivilegevalue(

lpctstr lpsystemname, // 表示所要檢視的系統,本地系統直接用null

lpctstr lpname, // 表示所要檢視的特權資訊的名稱

pluid lpluid //接收所返回的制定特權名稱的資訊

);

bool adjusttokenprivileges(

handle tokenhandle, //包含特權的控制代碼

bool disableallprivileges,//禁用所有許可權標誌

ptoken_privilegesnewstate,//新特權資訊的指標(結構體)

dword bufferlength, //緩衝資料大小,以位元組為單位的previousstate的快取區(sizeof)

ptoken_privileges previousstate,//接收被改變特權當前狀態的buffer

pdword returnlength //接收previousstate快取區要求的大小

);

下面來看一下**:

handle tokenhandle;

if(!openprocesstoken(getcurrentprocess(), token_adjust_privileges | token_query, &tokenhandle))

token_privileges t_privileges = ;

if(!lookupprivilegevalue(null, se_shutdown_name, &t_privileges.privileges[0].luid))

t_privileges.privilegecount = 1;

t_privileges.privileges[0].attributes = se_privilege_enabled;

if(!adjusttokenprivileges(tokenhandle, false, &t_privileges, sizeof(token_privileges), null, null))

呃。。。。忘了說了。。。。windows nt 以上的核心需要提權。。。。進行對系統的操作(關機  重啟 登出)98啥的就不用了  直接呼叫 exitwindow***就行了。。。。。。。這裡只說提權了    要了解的話 去看一下msdn這個api 函式的用法

2012/8/5

jofranks 於南昌

VB程式設計之二

1,visual的含義是視覺化 視窗的設計形式稱為窗體,我們把窗體 控制項等這些組成 使用者介面的部件稱為物件,與乙個物件的乙個事件相關聯的是乙個程式過程。2,vb在輸入程式 的同時將立即檢查並顯示錯誤,提示設計者進行修改 開發過程 中得到的部分成果也可以執行,以便於檢查修改 它是一種視覺化的 物件...

《JS高階程式設計》之二

1 js的基本資料型別有 number string number null undefined boolean 還有一種複雜資料型別object,function 和 array 是object的一種派生型別。2 typeof 用來判斷給定變數的資料型別,undefined 這個值未定義 bool...

04 Shell程式設計之二

環境變數 shell 和指令碼使用變數儲存資料,某些特殊變數可以與其變數的內容一起傳遞到子程序,那麼這類特殊變數稱為是環境變數。檢視當前 shell 中定義的環境變數用 env命令 env 將變數宣告成環境變數 export abc some value 或 abc some value expor...