• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            淺析Win2K/XP服務與后門技術-1


            一、序言 

              Windows下的服務程序都遵循服務控制管理器(SCM)的接口標準, 它們會在登錄系統時自動運行,甚至在沒有用戶登錄系統的情況下也會正常執行,類似與UNIX系統中的守護進程(daemon)。它們大多是控制臺程序,不 過也有少數的GUI程序。本文所涉及到的服務程序僅限于Windows2000/XP系統中的一般服務程序,不包含Windows9X。

              二、Windows服務簡介 

            服務控制管理器擁有一個在注冊表中記錄的數據庫,包含了所有已安裝的服務程序和設備驅動服務程序的相關信息。它允許系統管理員為每個服務自定義安全要求 和控制訪問權限。Windows服務包括四大部分:服務控制管理器(Service Control Manager),服務控制程序 (Service Control Program),服務程序(Service Program)和服務配置程序 (Service Configuration Program)。 

              1.服務控制管理器(SCM) 

              服務控制管理器在系統啟動的早期由Winlogon進程啟動,可執行文件名是“Admin$\System32\Services.exe”,它是系統中的一個RPC服務器,因此服務配置程序和服務控制程序可以在遠程操縱服務。它包括以下幾方面的信息: 

            已安裝服務數據庫:服務控制管理器在注冊表中擁有一個已安裝服務的數據庫,它在服務控制管理器和程序添加,刪除,配置服務程序時使用,在注冊表中數據庫 的位置為:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。它包括很多子鍵,每個子鍵的名 字就代表一個對應的服務。數據庫中包括:服務類型(私有進程,共享進程),啟動類型(自動運行,由服務控制管理器啟動,無效),錯誤類型(忽略,常規錯 誤,服務錯誤,關鍵錯誤),執行文件路徑,依賴信息選項,可選用戶名與密碼。 

              自動啟動服務:系統啟動時,服務控制管理器啟動所有“自啟”服務和相關依賴服務。服務的加載順序:順序裝載組列表:

              HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder;指定組列表:    
              HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList;每個服務所依賴的服務程序。

              在系統成功引導后會保留一份LKG(Last-Know-Good)的配置信息位于:

              HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services。 

              因要求而啟動服務:用戶可以使用服務控制面板程序來啟動一項服務。服務控制程序也可以使用StartService來啟動服務。服務控制管理器會進行下面的操作:獲取帳戶信息,登錄服務項目,創建服務為懸掛狀態,分配登錄令牌給進程,允許進程執行。 

              服務記錄列表:每項服務在數據庫中都包含了下面的內容:服務名稱,開始類型,服務狀態(類型,當前狀態,接受控制代碼,退出代碼,等待提示),依賴服務列表指針。 

              服務控制管理器句柄:服務控制管理器支持句柄類型訪問以下對象:已安裝服務數據庫,服務程序,數據庫的鎖開狀態。 

              2.服務控制程序(SCP) 

              服務控制程序可以執行對服務程序的開啟,控制和狀態查詢功能: 

            開啟服務:如果服務的開啟類型為SERVICE_DEMAND_START,就可以用服務控制程序來開始一項服務。在開始服務的初始化階段服務的當前狀 態為:SERVICE_START_PENDING,而在初始化完成后的狀態就是:SERVICE_RUNNING。 

              向正在運行的 服務發送控制請求:控制請求可以是系統默認的,也可以是用戶自定義的。標準控制代碼如下:停止服務(SERVICE_CONTROL_STOP),暫停服 務(SERVICE_CONTROL_PAUSE),恢復已暫停服務(SERVICE_CONTROL_CONTINUE),獲得更新信息 (SERVICE_CONTROL_INTERROGATE)。 

              3.服務程序 

              一個服務程序可能擁有一個或多 個服務的執行代碼。我們可以創建類型為SERVICE_WIN32_OWN_PROCESS的只擁有一個服務的服務程序。而類型為 SERVICE_WIN32_SHARE_PROCESS的服務程序卻可以包含多個服務的執行代碼。詳情參見后面的Windows服務與編程。 

              4.服務配置程序 

              編程人員和系統管理員可以使用服務配置程序來更改,查詢已安裝服務的信息。當然也可以通過注冊表函數來訪問相關資源。

              服務的安裝,刪除和列舉:我們可以使用相關的系統函數來創建,刪除服務和查詢所有服務的當前狀態。 

              服務配置:系統管理員通過服務配置程序來控制服務的啟動類型,顯示名稱和相關描述信息。 

            posted on 2007-07-21 17:05 旅途 閱讀(218) 評論(0)  編輯 收藏 引用 所屬分類: 深入windows

            热综合一本伊人久久精品| 亚洲国产成人精品无码久久久久久综合 | 国产精品久久午夜夜伦鲁鲁| 超级碰碰碰碰97久久久久| 久久精品国产99国产精品| 久久97精品久久久久久久不卡| 久久国产精品成人片免费| 久久无码人妻一区二区三区午夜| 97精品伊人久久久大香线蕉| 亚洲综合日韩久久成人AV| 久久精品毛片免费观看| 国产精品99久久99久久久| 伊人久久大香线蕉精品| 久久夜色精品国产亚洲av| 久久精品综合网| 欧美精品一本久久男人的天堂| 99久久国产免费福利| 久久国产视频99电影| 99久久国产亚洲综合精品| 麻豆AV一区二区三区久久| 免费观看成人久久网免费观看| 精品国产91久久久久久久a| 亚洲精品无码久久久| 久久久久无码精品国产| 日本一区精品久久久久影院| 亚洲国产高清精品线久久 | 狠狠色婷婷久久综合频道日韩| 久久久噜噜噜久久中文福利| 国产高清美女一级a毛片久久w | 亚洲狠狠综合久久| 区久久AAA片69亚洲| 狠狠色丁香久久婷婷综| 亚洲国产婷婷香蕉久久久久久| 国产成年无码久久久久毛片| 久久天天躁狠狠躁夜夜av浪潮| 嫩草伊人久久精品少妇AV| 久久综合久久伊人| 国产精品久久99| 久久婷婷五月综合成人D啪| 91精品久久久久久无码| 无码专区久久综合久中文字幕|