2017-04-14 78 views
-1

我有一個以管理員進程運行的常規程序。但它並不完全擁有我需要的所有特權。如何提升此流程作爲本地系統帳戶運行?作爲本地系統運行進程

我不想使用任何外部工具來實現此高程。如果我可以調用一些Win32函數來實現它,那將是理想的。我也願意編寫和運行Windows服務,以便將其特權傳遞給有問題的進程。

有人請給我一個線索。我的搜索只是圍繞着我發送。

+1

「正常程序」不應該作爲本地系統運行。你需要什麼任務本地系統權限? – KonstantinL

+0

我想刪除我的所有文件。這是我的系統,所以我可以隨心所欲。當然這只是一個笑話。但你明白了。我是一名專業開發人員,而不是尋找基本的軟件原理。我正在尋找技術問題的技術解決方案。 – user118708

+1

編寫一個Windows服務並將其作爲本地系統運行。 – KonstantinL

回答

0
  1. 程序發送會話ID以服務
  2. 服務調用OpenProcessToken和DuplicateTokenEx創建一個本地系統令牌
  3. 服務調用SetTokenInformation改變令牌會話ID來匹配該程序的
  4. 服務調用DuplicateHandle創建句柄令牌
  5. 服務發送處理編程
  6. 計劃利用接收到的手柄電話SetThreadToken

程序將至少有一個具有本地系統權限的線程。這對我的目的是足夠的。

+0

我們只能猜測爲什麼所有需要本地系統權限的東西都不能在服務中完成。 – KonstantinL

+0

因爲本地系統沒有權限執行普通程序可以執行的操作,所以無法在服務中完成。這是由一些初學者的VB VB程序員創建的死鎖情況?也許你可以向他們展示一些基本的軟件原理。 – user118708

相關問題