序言??Windows下的服務(wù)程序都遵循服務(wù)控制管理器(SCM)的接口標(biāo)準(zhǔn),它們會(huì)在登錄系統(tǒng)時(shí)自動(dòng)運(yùn)行,甚至在沒(méi)有用戶登錄系統(tǒng)的情況下也會(huì)正常執(zhí)行,類似與UNIX系統(tǒng)中的守護(hù)進(jìn)程(daemon)。它們大多是控制">
如何編寫服務(wù)程序

如何編寫服務(wù)程序

ID:41032358

大?。?9.50 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-08-14

如何編寫服務(wù)程序_第1頁(yè)
如何編寫服務(wù)程序_第2頁(yè)
如何編寫服務(wù)程序_第3頁(yè)
如何編寫服務(wù)程序_第4頁(yè)
如何編寫服務(wù)程序_第5頁(yè)
資源描述:

《如何編寫服務(wù)程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、WINDOWS服務(wù)程序簡(jiǎn)介一>序言??Windows下的服務(wù)程序都遵循服務(wù)控制管理器(SCM)的接口標(biāo)準(zhǔn),它們會(huì)在登錄系統(tǒng)時(shí)自動(dòng)運(yùn)行,甚至在沒(méi)有用戶登錄系統(tǒng)的情況下也會(huì)正常執(zhí)行,類似與UNIX系統(tǒng)中的守護(hù)進(jìn)程(daemon)。它們大多是控制臺(tái)程序,不過(guò)也有少數(shù)的GUI程序。本文所涉及到的服務(wù)程序僅限于Windows2000/XP系統(tǒng)中的一般服務(wù)程序,不包含Windows9X。本文相關(guān)服務(wù)級(jí)后門程序和代碼可以到我們的主頁(yè)FZ5FZ下載。二>Windows服務(wù)簡(jiǎn)介??服務(wù)控制管理器擁有一個(gè)在注冊(cè)表中記錄的數(shù)據(jù)庫(kù),包含了所有

2、已安裝的服務(wù)程序和設(shè)備驅(qū)動(dòng)服務(wù)程序的相關(guān)信息。它允許系統(tǒng)管理員為每個(gè)服務(wù)自定義安全要求和控制訪問(wèn)權(quán)限。Windows服務(wù)包括四大部分:服務(wù)控制管理器(ServiceControlManager),服務(wù)控制程序(ServiceControlProgram),服務(wù)程序(ServiceProgram)和服務(wù)配置程序(ServiceConfigurationProgram)。??1.服務(wù)控制管理器(SCM)??服務(wù)控制管理器在系統(tǒng)啟動(dòng)的早期由Winlogon進(jìn)程啟動(dòng),可執(zhí)行文件名是“Admin$System32Servic

3、es.exe”,它是系統(tǒng)中的一個(gè)RPC服務(wù)器,因此服務(wù)配置程序和服務(wù)控制程序可以在遠(yuǎn)程操縱服務(wù)。它包括以下幾方面的信息:??已安裝服務(wù)數(shù)據(jù)庫(kù):服務(wù)控制管理器在注冊(cè)表中擁有一個(gè)已安裝服務(wù)的數(shù)據(jù)庫(kù),它在服務(wù)控制管理器和程序添加,刪除,配置服務(wù)程序時(shí)使用,在注冊(cè)表中數(shù)據(jù)庫(kù)的位置為:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices。它包括很多子鍵,每個(gè)子鍵的名字就代表一個(gè)對(duì)應(yīng)的服務(wù)。數(shù)據(jù)庫(kù)中包括:服務(wù)類型(私有進(jìn)程,共享進(jìn)程),啟動(dòng)類型(自動(dòng)運(yùn)行,由服務(wù)控制管理器啟動(dòng),無(wú)

4、效),錯(cuò)誤類型(忽略,常規(guī)錯(cuò)誤,服務(wù)錯(cuò)誤,關(guān)鍵錯(cuò)誤),執(zhí)行文件路徑,依賴信息選項(xiàng),可選用戶名與密碼。??自動(dòng)啟動(dòng)服務(wù):系統(tǒng)啟動(dòng)時(shí),服務(wù)控制管理器啟動(dòng)所有“自啟”服務(wù)和相關(guān)依賴服務(wù)。服務(wù)的加載順序:順序裝載組列表:HKEY_LOCAL_MACHINESystemCurrentControlSetControlServiceGroupOrder;指定組列表:HKEY_LOCAL_MACHINESystemCurrentControlSetControlGroupOrderList;每個(gè)服務(wù)所依賴的服務(wù)程序。

5、在系統(tǒng)成功引導(dǎo)后會(huì)保留一份LKG(Last-Know-Good)的配置信息位于:HKEY_LOCAL_MACHINESYSTEMControlSetXXXServices。??因要求而啟動(dòng)服務(wù):用戶可以使用服務(wù)控制面板程序來(lái)啟動(dòng)一項(xiàng)服務(wù)。服務(wù)控制程序也可以使用StartService來(lái)啟動(dòng)服務(wù)。服務(wù)控制管理器會(huì)進(jìn)行下面的操作:獲取帳戶信息,登錄服務(wù)項(xiàng)目,創(chuàng)建服務(wù)為懸掛狀態(tài),分配登錄令牌給進(jìn)程,允許進(jìn)程執(zhí)行。??服務(wù)記錄列表:每項(xiàng)服務(wù)在數(shù)據(jù)庫(kù)中都包含了下面的內(nèi)容:服務(wù)名稱,開(kāi)始類型,服務(wù)狀態(tài)(類型,當(dāng)前狀態(tài),接受控

6、制代碼,退出代碼,等待提示),依賴服務(wù)列表指針。??服務(wù)控制管理器句柄:服務(wù)控制管理器支持句柄類型訪問(wèn)以下對(duì)象:已安裝服務(wù)數(shù)據(jù)庫(kù),服務(wù)程序,數(shù)據(jù)庫(kù)的鎖開(kāi)狀態(tài)。??2.服務(wù)控制程序(SCP)??服務(wù)控制程序可以執(zhí)行對(duì)服務(wù)程序的開(kāi)啟,控制和狀態(tài)查詢功能:??開(kāi)啟服務(wù):如果服務(wù)的開(kāi)啟類型為SERVICE_DEMAND_START,就可以用服務(wù)控制程序來(lái)開(kāi)始一項(xiàng)服務(wù)。在開(kāi)始服務(wù)的初始化階段服務(wù)的當(dāng)前狀態(tài)為:SERVICE_START_PENDING,而在初始化完成后的狀態(tài)就是:SERVICE_RUNNING。??向正在運(yùn)行的服

7、務(wù)發(fā)送控制請(qǐng)求:控制請(qǐng)求可以是系統(tǒng)默認(rèn)的,也可以是用戶自定義的。標(biāo)準(zhǔn)控制代碼如下:停止服務(wù)(SERVICE_CONTROL_STOP),暫停服務(wù)(SERVICE_CONTROL_PAUSE),恢復(fù)已暫停服務(wù)(SERVICE_CONTROL_CONTINUE),獲得更新信息(SERVICE_CONTROL_INTERROGATE)。3.服務(wù)程序??一個(gè)服務(wù)程序可能擁有一個(gè)或多個(gè)服務(wù)的執(zhí)行代碼。我們可以創(chuàng)建類型為SERVICE_WIN32_OWN_PROCESS的只擁有一個(gè)服務(wù)的服務(wù)程序。而類型為SERVICE_WIN32

8、_SHARE_PROCESS的服務(wù)程序卻可以包含多個(gè)服務(wù)的執(zhí)行代碼。詳情參見(jiàn)后面的Windows服務(wù)與編程。4.服務(wù)配置程序??編程人員和系統(tǒng)管理員可以使用服務(wù)配置程序來(lái)更改,查詢已安裝服務(wù)的信息。當(dāng)然也可以通過(guò)注冊(cè)表函數(shù)來(lái)訪問(wèn)相關(guān)資源。??服務(wù)的安裝,刪除和列舉:我們可以使用相關(guān)的系統(tǒng)函數(shù)來(lái)創(chuàng)建,刪除服務(wù)和查詢所有服務(wù)的當(dāng)前狀態(tài)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。