欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
關(guān)機有關(guān)的函數
要對一個(gè)任意進(jìn)程(包括系統安全進(jìn)程和服務(wù)進(jìn)程)進(jìn)行指定了寫(xiě)相關(guān)的訪(fǎng)問(wèn)權的OpenProcess操作,只要當前進(jìn)程具有SeDeDebug權限就可以了。要是一個(gè)用戶(hù)是Administrator或是被給予了相應的權限,就可以具有該權限??墒?,就算我們用Administrator賬號對一個(gè)系統安全進(jìn)程執行OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)還是會(huì )遇到“訪(fǎng)問(wèn)拒絕”的錯誤。什么原因呢?原來(lái)在默認的情況下進(jìn)程的一些訪(fǎng)問(wèn)權限是沒(méi)有被使能(Enabled)的,所以我們要做的首先是使能這些權限。與此相關(guān)的一些API函數有OpenProcessToken、LookupPrivilegevalue、AdjustTokenPrivileges。我們要修改一個(gè)進(jìn)程的訪(fǎng)問(wèn)令牌,首先要獲得進(jìn)程訪(fǎng)問(wèn)令牌的句柄,這可以通過(guò)OpenProcessToken得到,函數的原型如下:
  BOOL OpenProcessToken(
  __in HANDLE ProcessHandle, //要修改訪(fǎng)問(wèn)權限的進(jìn)程句柄
  __in DWORD DesiredAccess, //指定你要進(jìn)行的操作類(lèi)型
  __out PHANDLE TokenHandle //返回的訪(fǎng)問(wèn)令牌指針
  );
  第一參數是要修改訪(fǎng)問(wèn)權限的進(jìn)程句柄;第三個(gè)參數就是返回的訪(fǎng)問(wèn)令牌指針;第二個(gè)參數指定你要進(jìn)行的操作類(lèi)型,如要修改訪(fǎng)問(wèn)令牌的特權,我們要指定第二個(gè)參數為T(mén)OKEN_ADJUST_PRIVILEGES(其它一些參數可參考Platform SDK)。通過(guò)這個(gè)函數我們就可以得到當前進(jìn)程的訪(fǎng)問(wèn)令牌的句柄(指定函數的第一個(gè)參數為GetCurrentProcess()就可以了)。接著(zhù)我們可以調用AdjustTokenPrivileges對這個(gè)訪(fǎng)問(wèn)令牌進(jìn)行修改。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
  );
  第一個(gè)參數是訪(fǎng)問(wèn)令牌的句柄;第二個(gè)參數決定是進(jìn)行權限修改還是除能(Disable)所有權限;第三個(gè)參數指明要修改的權限,是一個(gè)指向TOKEN_PRIVILEGES結構的指針,該結構包含一個(gè)數組,數據組的每個(gè)項指明了權限的類(lèi)型和要進(jìn)行的操作; 第四個(gè)參數是結構PreviousState的長(cháng)度,如果PreviousState為空,該參數應為NULL;第五個(gè)參數也是一個(gè)指向TOKEN_PRIVILEGES結構的指針,存放修改前的訪(fǎng)問(wèn)權限的信息,可空;最后一個(gè)參數為實(shí)際PreviousState結構返回的大小。在使用這個(gè)函數前再看一下TOKEN_PRIVILEGES這個(gè)結構,其聲明如下:
  typedef struct _TOKEN_PRIVILEGES {
  DWORD PrivilegeCount;
  LUID_AND_ATTRIBUTES Privileges[];
  } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
  PrivilegeCount指的數組元素的個(gè)數,接著(zhù)是一個(gè)LUID_AND_ATTRIBUTES類(lèi)型的數組,再來(lái)看一下LUID_AND_ATTRIBUTES這個(gè)結構的內容,聲明如下:
  typedef struct _LUID_AND_ATTRIBUTES {
  LUID Luid;
  DWORD Attributes;
  } LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES
  第二個(gè)參數就指明了我們要進(jìn)行的操作類(lèi)型,有三個(gè)可選項: SE_PRIVILEGE_ENABLED、SE_PRIVILEGE_ENABLED_BY_DEFAULT、SE_PRIVILEGE_USED_FOR_ACCESS。要使能一個(gè)權限就指定Attributes為SE_PRIVILEGE_ENABLED。第一個(gè)參數就是指權限的類(lèi)型,是一個(gè)LUID的值,LUID就是指locally unique identifier,我想GUID大家是比較熟悉的,和GUID的要求保證全局唯一不同,LUID只要保證局部唯一,就是指在系統的每一次運行期間保證是唯一的就可以了。另外和GUID相同的一點(diǎn),LUID也是一個(gè)64位的值,相信大家都看過(guò)GUID那一大串的值,我們要怎么樣才能知道一個(gè)權限對應的LUID值是多少呢?這就要用到另外一個(gè)API函數LookupPrivilegevalue,其原形如下:
  BOOL LookupPrivilegevalue(
  LPCTSTR lpSystemName, // system name
  LPCTSTR lpName, // privilege name
  PLUID lpLuid // locally unique identifier
  );
  第一個(gè)參數是系統的名稱(chēng),如果是本地系統只要指明為NULL就可以了,第三個(gè)參數就是返回LUID的指針,第二個(gè)參數就是指明了權限的名稱(chēng),如“SeDebugPrivilege”。在Winnt.h中還定義了一些權限名稱(chēng)的宏,如:
  #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è)函數的調用,我們就可以用OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)來(lái)打獲得任意進(jìn)程的句柄,并且指定了所有的訪(fǎng)問(wèn)權
 
InitiateSystemShutdown
BOOL InitiateSystemShutdown(lpszMachineName,lpszMessage,dwTimeout,fForce App
sClosed,fReboot)
說(shuō)明:InitiateSystemShutdown函數激活指定的一次關(guān)機和重啟動(dòng)。
參數:lpszMachineName
指定以MULL終止的用來(lái)指定要關(guān)機的網(wǎng)絡(luò )名稱(chēng)的字符串。如果lpszMachineName為NULL,
或指向一個(gè)空串,則該函數關(guān)掉本地計算機。
LpszMessage
指向一個(gè)以MULL終止的指定要顯示在關(guān)機對話(huà)框中的消息的字符串。如果不需要消息,
該參數可以為NULL。
DwTimeout
指定對話(huà)框應該顯示的時(shí)間(按秒計)。在此對話(huà)框顯示期間,可通過(guò)調用AbortSyste
mShutdown函數將關(guān)機停止。
如果DwTimeout不為零,則InitiateSystemShutdown在指定的計算機上顯示的一個(gè)對
話(huà)框。該對話(huà)框顯示調用此函數的用戶(hù)名,顯示由lpszMessage參數指定的消息,并提示
用戶(hù)退出系統。當對話(huà)框被創(chuàng )建時(shí)發(fā)出嘟嘟聲,并保持位于系統中其它窗口的上面。此
對話(huà)框可以被移動(dòng),但不能被關(guān)閉。定時(shí)器倒記在強制關(guān)機之前剩余的時(shí)間。如果用戶(hù)
退出系統,系統立即關(guān)閉。否則,當定時(shí)器到時(shí)間計算機才關(guān)機。
如果DwTimeout為零時(shí),計算機關(guān)機,但不顯示此對話(huà)框,并且不能用AbortSystem
Shutdown函數來(lái)停止關(guān)機。
fForce AppsClosed
指定對變化未做保存的應用程序是否被強制關(guān)閉。如果這個(gè)參數為T(mén)RUE,則這樣的
應用程序被關(guān)閉。如果這個(gè)參數為FALSE,則顯示一個(gè)對話(huà)框以提示用戶(hù)關(guān)閉這些應用程
序。
FReboot
指定計算機關(guān)機之后是否立即重啟。如果這個(gè)參數為T(mén)RUE,則計算機重啟。如果這
個(gè)參數為FALSE,則系統將所有高速緩存刷新到磁盤(pán)上,清除屏幕,并且顯示一條消息,
指示關(guān)掉電源是安全的。
返回值:如果函數成功,則返回值為T(mén)RUE;否則,返回值為FALSE。要獲得擴展錯誤信息
,可使用GetLastError函數。
注釋?zhuān)阂P(guān)掉本地計算機,調用進(jìn)程必須具有SE_SHUTDOWN_NAME特權。要關(guān)掉一臺遠程
計算機,調用進(jìn)程必須對此遠程計算機具有的SE_REMOTE_SHUTDOWN_NAME特權。缺省情況
下,用戶(hù)具有對他們所有登錄計算機的SE_SHUTDOWN_NAME特權,管理員具有對遠程計算
機的SE_REMOTE_SHUTDOWN_NAME特權。
 
  根據上面的內容,可獲得如下的應用:
  BOOL fResult;
  TOKEN_PRIVILEGES tkp;
  HANDLE hToken;
  if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken))
  {
  MessageBox("OpenProcessToken failed!"); //獲得進(jìn)程句柄失敗
  }
  LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); //獲得本地機唯一的標識
  tkp.PrivilegeCount = 1;
  tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES) NULL, 0); //調整獲得的權限
  if (GetLastError() != ERROR_SUCCESS)
  {
  MessageBox("AdjustTokenPrivileges enable failed!"); //修改權限失敗
  }
  fResult =InitiateSystemShutdown(
  NULL, // 要關(guān)的計算機用戶(hù)名
  "由于系統不穩定,WINDOWS將在上面的時(shí)間內關(guān)機,請做好保存工作!", // 顯示消息
  0, // 關(guān)機所需的時(shí)間
  FALSE, // 是否提示用戶(hù)
  FALSE); //設為T(mén)RUE為重起,設為FALSE為關(guān)機
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
提升進(jìn)程權限
Window關(guān)機函數ExitWindowsEx詳解 - dwdm - 博客園
Native API提權函數RtlAdjustPrivilege
C++ 讓電腦關(guān)機,重啟,注銷(xiāo)
NET問(wèn)答: 如何使用 C# 自動(dòng)化關(guān)閉電腦 ?
注入進(jìn)程遠程線(xiàn)程注入與hook注入
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久