一種服務創建方法及裝置的制造方法
【專利摘要】本發明實施例提供了一種服務創建方法及裝置。所述方法的【具體實施方式】包括:接收針對待創建服務的服務創建指令;根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件;調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。應用本發明實施例提供的方案創建服務,能夠提高服務的隱蔽性。
【專利說明】
一種服務創建方法及裝置
技術領域
[0001]本發明涉及計算機軟件技術領域,特別涉及一種服務創建方法及裝置。
【背景技術】
[0002]隨著互聯網行業技術發展,各種客戶端層出不窮,各客戶端之間有合作共贏的,也有竟爭關系的。為了實現自身的一些功能,客戶端常常需要在系統中創建服務。例如,防護性客戶端為了實現自身軟件的修復、升級等功能,需要創建相應的服務。
[0003]現有技術中,目標客戶端常通過調用系統函數,例如CreateService、OpenService、ControIService API函數,來創建服務。但是,以這種方式創建服務時,要求服務的啟動文件是特殊類型的文件,例如以.exe為后綴的文件等,并且服務創建完成之后,可以在任務管理器中出現該.exe文件的進程。由于這種特定的進程容易被競爭對手的客戶端檢測到進而卸載相應服務,達到破壞目標客戶端的目的,因此采用這種方式創建的服務隱蔽性不高。
【發明內容】
[0004]本發明實施例的目的在于提供了一種服務創建方法及裝置,能夠提高服務的隱蔽性。
[0005]為了達到上述目的,本發明公開了一種服務創建方法,應用于終端,所述方法包括:
[0006]接收針對待創建服務的服務創建指令;
[0007]根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件;
[0008]調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。
[0009 ]較佳的,所述方法還包括:
[0010]判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型;
[0011 ]如果是,則將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。
[0012]較佳的,所述方法還包括:
[0013]接收針對所述待創建服務的服務停止指令;
[0014]停止所述待創建服務;并將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0015]較佳的,在根據所述待創建服務的注冊表項,創建所述待創建服務之后,所述方法還包括:
[0016]注冊所述待創建服務的回調函數;
[0017]所述將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型,包括:
[0018]采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型;
[0019]所述將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型,包括:
[0020]采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0021 ]較佳的,所述待創建服務的注冊表項采用以下方式生成:
[0022]在安裝所述待創建服務對應的客戶端時,獲取所述待創建服務的服務名和其啟動文件的路徑;
[0023]根據所述待創建服務的服務名和其啟動文件的路徑,生成所述待創建服務的注冊表項。
[0024]較佳的,所述待創建服務的注冊表項中的啟動類型為自啟動類型。
[0025]較佳的,所述方法還包括:
[0026]按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑;其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同;
[0027]根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。
[0028]為了達到上述目的,本發明公開了一種服務創建裝置,應用于終端,所述裝置包括:
[0029]接收模塊,用于接收針對待創建服務的服務創建指令;
[0030]確定模塊,用于根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件;
[0031]創建模塊,用于調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。
[0032]較佳的,所述裝置還包括:
[0033]判斷模塊,用于判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型;
[0034]設置模塊,用于當所述待創建服務的注冊表項中的啟動類型為自啟動類型時,將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。
[0035]較佳的,所述裝置還包括停止模塊;
[0036]所述接收模塊,具體用于接收針對所述待創建服務的服務停止指令;
[0037]所述停止模塊,用于當接收到針對所述待創建服務的服務停止指令時,停止所述待創建服務;
[0038]所述設置模塊,具體用于當接收到針對所述待創建服務的服務停止指令時,將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0039]較佳的,所述裝置還包括注冊模塊;
[0040]所述注冊模塊,用于在根據所述待創建服務的注冊表項,創建所述待創建服務之后,注冊所述待創建服務的回調函數;
[0041]所述設置模塊,具體用于在注冊所述待創建服務的回調函數之后,采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型;
[0042]所述設置模塊,還用于在注冊所述待創建服務的回調函數之后,采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0043]較佳的,所述裝置還包括:
[0044]獲取模塊,用于在安裝所述待創建服務對應的客戶端時,獲取所述待創建服務的服務名和其啟動文件的路徑;
[0045]生成模塊,用于根據所述待創建服務的服務名和其啟動文件的路徑,生成所述待創建服務的注冊表項。
[0046]較佳的,所述待創建服務的注冊表項中的啟動類型為自啟動類型。
[0047]較佳的,所述獲取模塊,還用于按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑;其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同;
[0048]所述生成模塊,用于根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。
[0049]由上述技術方案可見,本發明實施例在接收到針對待創建服務的服務創建指令時,根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,調用所述加載程序加載所述啟動文件,進而創建所述待創建服務,其中,所述啟動文件為通過系統程序加載的文件。
[0050]也就是說,本發明實施例根據待創建服務的注冊表項,調用系統加載程序加載待創建服務的啟動文件,進而創建該待創建服務的。當采用系統加載程序加載啟動文件時,任務管理器中出現的是該系統加載程序對應的系統進程,由于這種系統進程也可以用來加載其他的文件,任務管理器中的該系統進程可能不止一個,因此惡意程序或競爭對手不容易檢測到該服務。所以,應用本發明實施例提供給的方案創建的服務,能夠提高服務的隱蔽性。
【附圖說明】
[0051]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0052]圖1為本發明實施例提供的服務創建方法的一種流程示意圖;
[0053]圖2為本發明實施例提供的服務創建方法的另一種流程示意圖;
[0054]圖3為本發明實施例提供的服務創建裝置的一種結構示意圖。
【具體實施方式】
[0055]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述。顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0056]本發明實施例提供了一種服務創建方法及裝置,能夠提高服務的隱蔽性。
[0057]下面通過具體實施例,對本發明進行詳細說明。
[0058]圖1為本發明實施例提供的服務創建方法的一種流程示意圖,應用于終端,所述方法包括如下步驟:
[0059]步驟SlOl:接收針對待創建服務的服務創建指令。
[0060]待創建服務可以包括能夠實現對待創建服務對應的客戶端實現修復、升級、推廣等功能的服務,當然,待創建服務還可以實現其他功能。
[0061]服務創建指令可以是終端操作系統啟動后由操作系統生成的,具體的,可以是操作系統啟動后,讀取注冊表中的每個注冊表項,當讀取到待創建服務的注冊表項時,生成的針對待創建服務的服務創建指令。
[0062]上述服務創建指令還可以是待創建服務對應的客戶端在使用過程中根據實際需求生成的。
[0063]步驟S102:根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑。
[0064]其中,所述啟動文件為通過系統程序加載的文件。
[0065]步驟S103:調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。
[0066]具體的,注冊表項中記錄了創建服務時所需要的加載程序以及啟動文件的路徑。當啟動文件為需要通過系統程序加載的文件時,需要調用相應的系統加載程序加載該啟動文件,當待創建服務的啟動文件被加載完成后,所述待創建服務便創建完成。當所述待創建服務創建完成時,在終端操作系統的任務管理器中會出現該系統加載程序對應的系統進程。由于該進程屬于系統進程,并且該系統加載程序也可以用于加載其他的文件,故任務管理器中可能存在不止一個這樣的系統進程,故而采用這種方式創建的服務的隱蔽性更高,不容易被惡意程序檢測到。而現有技術中,待創建服務的啟動文件通常為可執行程序,當服務創建完成后,在任務管理器中出現的是該可執行程序對應的應用程序進程,這種進程容易被惡意程序發現,所創建的服務的隱蔽性不高,容易被惡意程序檢測到并破壞。
[0067]假設,本實施例中的待創建服務的啟動文件為動態鏈接庫.dll文件,對應的該系統加載程序可以為S V c h ο s t.e X e。也就是說,該待創建服務可以由系統加載程序svchost.exe加載dll文件啟動,當服務創建完成之后,終端操作系統的任務管理器中會出現svchost.exe進程,由于svchost.exe進程在系統中存在不止一個,并且其屬于系統進程,因此惡意程序或競爭對手不容易檢測到該待創建服務。
[0068]在本實施例中,所述待創建服務的注冊表項可以采用以下方式生成:
[0069]在安裝所述待創建服務對應的客戶端時,獲取所述待創建服務的服務名和其啟動文件的路徑;根據所述待創建服務的服務名和其啟動文件的路徑,生成所述待創建服務的注冊表項。
[0070]具體的,待創建服務的服務名和其啟動文件的路徑可以從該客戶端的配置文件中獲取,也可以以其他方式獲取,本發明對此不做限定。
[0071]在安裝待創建服務對應的客戶端時,安裝程序會根據配置文件中的配置信息安裝各個文件,其中包括將待創建服務的啟動文件保存在相應的目錄下。假設,從配置文件中獲得的待創建服務的服務名為Ifbwj,啟動文件為lfbwj.dll,那么安裝程序可以將該啟動文件保存在C: \Windows\System32\lfbwj目錄下。對應的,該啟動文件的路徑為C: \Windows\System32\lfbwj\lfbwj.dll ο
[0072]在實際應用中,生成待創建服務的注冊表項時,可以首先根據獲取的待創建服務的服務名拼接注冊表項的名稱,然后根據獲取的待創建服務的啟動文件的路徑,寫入該注冊表項中的服務程序鍵值ImagePath,并且在該注冊表項中寫入該服務的描述,設置啟動類型等。
[0073]沿用上述例子,根據獲取的待創建服務的服務名lfbwj,可以通過拼接得到注冊表項的名稱,即 SYSTEM\\CurrentControlSet\\services\\Lfbw j,然后調用注冊表函數RegCreateKeyEx和RegSetValueEx,根據獲取的啟動文件的路徑C: \ffindows\System32\Ifbwj\lfbwj.dll,創建鍵值ImagePath,并將其寫為:
[0074]% % SystemRoot % %\\System32\\svchost.exe_k C:\ffindows\System32\lfbwj\lfbwj.dll
[0075]上述ImagePath的內容即表示,采用系統加載程序svchost.exe加載C: \Windows\System32\lfbwj\lfbwj.dll目錄下的lfbwj.dll文件啟動。然后,倉ll建服務的描述和啟動類型等鍵值,并分別設置為指定值和類型。啟動類型包括自啟動類型(SERVICE_AUTO_START)和非自啟動類型(SERVICE_DEMAND_START)。
[0076]該注冊表項中的啟動類型可以設置為自啟動類型,也可以設置為非自啟動類型。優選的,在生成待創建服務的注冊表項時,將啟動類型設置為自啟動類型,這樣,在下一次系統啟動過程中,可以自動地創建待創建服務,從而保證待創建服務能夠盡可能早地被創建起來,進而發揮該服務的作用。
[0077]由上述內容可見,本發明實施例根據待創建服務的注冊表項,調用系統加載程序加載待創建服務的啟動文件,進而創建該待創建服務的。當采用系統加載程序加載啟動文件時,任務管理器中出現的是該系統加載程序對應的系統進程,由于這種系統進程也可以用來加載其他的文件,任務管理器中的該系統進程可能不止一個,因此惡意程序或競爭對手不容易檢測到該服務。所以,應用本發明實施例提供給的方案創建的服務,能夠提高服務的隱蔽性。
[0078]在本發明的另一實施例中,在圖1所不實施例的基礎上,惡意程序可能會檢測并破壞自啟動類型的注冊表項,為了進一步增強服務的隱蔽性,所述方法還可以包括:
[0079]步驟1:判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型,如果是,則執行步驟2。
[0080]在檢測到待創建服務的服務創建完成時,即可實施本步驟。
[0081]步驟2:將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。
[0082]也就是說,當待創建服務創建完成之后,如果待創建服務的注冊表項中的啟動類型為自啟動類型,為了提高待創建服務的隱蔽性,可以將其設置為非自啟動類型。一般情況下,自啟動類型的注冊表項更容易被惡意程序或競爭對手檢測到并破壞。在服務創建完成之后的瞬間,便將對應的注冊表項設置為非自啟動類型,能夠避免惡意程序或競爭對手檢測到該服務的注冊表項,進而能夠避免該注冊表項被篡改。
[0083]進一步的,在服務創建完成之后,該服務的注冊表項中的啟動類型設置為了非自啟動類型,也就是說,當終端操作系統關閉后再次啟動時,該服務不能隨著操作系統的啟動而被創建。為了保證待創建服務在系統再次啟動時能夠及時地被創建,圖1所示的方法還可以包括以下步驟:
[0084]步驟1:接收針對所述待創建服務的服務停止指令。
[0085]服務停止指令可以是在操作系統關閉時由操作系統生成的,也可以是由待創建服務在運行過程中根據實際需求生成的。
[0086]步驟2:停止所述待創建服務。
[0087]步驟3:將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0088]可以理解的是,步驟2和步驟3的執行不分先后順序,也可以同時執行。在接收到針對所述待創建服務的服務停止指令時,停止所述待創建服務屬于現有技術,其具體過程不再贅述。
[0089]在本實施例中,在待創建服務將要停止的時刻,將待創建服務對應的注冊表項設置為自啟動類型,即可以實現在系統再次啟動時,將待創建服務創建起來,從而保證待創建服務能夠隨著系統的啟動而被創建。
[0090]綜合起來分析,當服務創建完成時,將該服務的注冊表項設置為非自啟動類型,當服務將要停止時,再將該服務的注冊表項設置為自啟動類型,既能夠保證服務創建完成之后該服務的注冊表項不容易被檢測到,又能夠保證在系統再次啟動時該服務也能夠被創建起來。
[0091]在本發明的另一實施例中,在圖1所示實施例的基礎上,當根據所述待創建服務的注冊表項,創建所述待創建服務之后,所述方法還可以包括:注冊所述待創建服務的回調函數。
[0092]對應的,圖1所示實施例中,將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型,可以包括:采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型;以及,將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型,可以包括:采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0093]在實際應用中,可以經由ServceMain函數,調用Regis ter ServiceCtr IHandler函數注冊待創建服務的回調函數,該回調函數可以是針對服務開啟和服務停止分別注冊的。當檢測到待創建服務創建完成時,服務開啟的回調函數將對應的注冊表項設置為非自啟動類型,當接收到針對待創建服務的服務停止指令時,服務停止的回調函數將對應的注冊表項設置為自啟動類型。
[0094]在本實施例中,通過注冊的回調函數,實現對待創建服務的注冊表項中的啟動類型的重新設置,能夠提高重置注冊表項中鍵值的效率。
[0095]在本發明的另一實施例中,在圖1所示實施例的基礎上,所述方法還可以包括以下步驟:
[0096]步驟1:按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑。
[0097]其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同。當前服務名和其啟動文件的當前路徑,可以通過待創建服務對應的客戶端的配置文件獲取,也可以通過其他方式獲取,本發明對此不做限定。預設時間間隔可以為10分鐘,也可以為2個小時,本發明對此不做限定。
[0098]在實際應用中,待創建服務的客戶端可以采用特定的模塊按照某種規則設置待創建服務的服務名和啟動文件的名稱,使服務名和啟動文件的名稱按照預設時間間隔變化,對應的,該特定的模塊還可以修改啟動文件的路徑,并將當前服務名和其啟動文件的當前路徑發送給終端。當然,這只是獲取當前服務名和其啟動文件的當前路徑的一種方式,還可以有其他獲取方式。一般情況下,服務名和啟動文件的名稱是對應一致的。當啟動文件的名稱更改后,其存儲路徑對應地也需要進行修改,啟動文件本身是不變的,只是修改其名稱,啟動文件的名稱變化了,其路徑也相應地不同。
[0099]步驟2:根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。
[0100]在本實施例中,不斷地更換待創建服務的服務名及其啟動文件的路徑,對應的待創建服務的注冊表項也是不斷變化的,這樣可以更加有效地避免惡意程序或競爭對手檢測到該待創建服務的注冊表項及待創建服務的啟動文件,從而提高了待創建服務的隱蔽性。
[0101]圖2為本發明實施例提供的服務創建方法的另一種流程示意圖,應用于終端,所述方法包括如下步驟:
[0102]步驟S201:接收針對待創建服務的服務創建指令。
[0103]步驟S202:根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑。其中,所述啟動文件為通過系統程序加載的文件。
[0104]步驟S203:調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。
[0105]步驟S204:注冊所述待創建服務的回調函數。
[0106]步驟S205:判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型,如果是,則執行S206。
[0107]需要說明的是,步驟S204和步驟S205的執行不分先后順序,也可以同時執行。
[0108]步驟S206:采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。
[0109]步驟S207:接收針對所述待創建服務的服務停止指令。
[0110]步驟S208:停止所述待創建服務;并將采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0111]步驟S209:按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑。
[0112]其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同。
[0113]步驟S210:根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。
[0114]由上述內容可見,本發明實施例根據待創建服務的注冊表項,調用系統加載程序加載待創建服務的啟動文件,進而創建該待創建服務的。當采用系統加載程序加載啟動文件時,任務管理器中出現的是該系統加載程序對應的系統進程,由于這種系統進程也可以用來加載其他的文件,任務管理器中的該系統進程可能不止一個,因此惡意程序或競爭對手不容易檢測到該服務。所以,應用本發明實施例提供給的方案創建的服務,能夠提高服務的隱蔽性。
[0115]圖3為本發明實施例提供的服務創建裝置的一種結構示意圖,應用于終端,與圖1所示方法實施例相對應,所述裝置包括接收模塊301、確定模塊302和創建模塊303;
[0116]其中,接收模塊301,用于接收針對待創建服務的服務創建指令;
[0117]確定模塊302,用于根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件;
[0118]創建模塊303,用于調用所述加載程序加載所述啟動文件,進而創建所述待創建服務;
[0119]在本實施例中,所述裝置還可以包括判斷模塊和設置模塊(圖中未示出);
[0120]所述判斷模塊,用于判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型;
[0121]所述設置模塊,用于當所述待創建服務的注冊表項中的啟動類型為自啟動類型時,將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。
[0122]在本實施例中,所述裝置還可以包括停止模塊(圖中未示出);
[0123]所述接收模塊,具體可以用于接收針對所述待創建服務的服務停止指令;
[0124]所述停止模塊,用于當接收到針對所述待創建服務的服務停止指令時,停止所述待創建服務;
[0125]所述設置模塊,具體可以用于當接收到針對所述待創建服務的服務停止指令時,將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0126]在本實施例中,所述裝置還可以包括注冊模塊(圖中未示出);
[0127]所述注冊模塊,用于在根據所述待創建服務的注冊表項,創建所述待創建服務之后,注冊所述待創建服務的回調函數;
[0128]所述設置模塊,具體可以用于在注冊所述待創建服務的回調函數之后,采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型;
[0129]所述設置模塊,還可以用于在注冊所述待創建服務的回調函數之后,采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
[0130]在本實施例中,所述裝置還可以包括獲取模塊和生成模塊(圖中未示出);
[0131]其中,獲取模塊,用于在安裝所述待創建服務對應的客戶端時,獲取所述待創建服務的服務名和其啟動文件的路徑;
[0132]生成模塊,用于根據所述待創建服務的服務名和其啟動文件的路徑,生成所述待創建服務的注冊表項。
[0133]在本實施例中,所述待創建服務的注冊表項中的啟動類型為自啟動類型。
[0134]在本實施例中,所述獲取模塊,還可以用于按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑;其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同;
[0135]所述生成模塊,還可以用于根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。
[0136]由于上述裝置實施例是基于創建方法實施例得到的,與該方法具有相同的技術效果,因此裝置實施例的技術效果在此不再贅述。
[0137]對于裝置實施例而言,由于其基本相似于創建方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。
[0138]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0139]本領域普通技術人員可以理解,上述實施方式中的全部或部分步驟是能夠通過程序指令相關的硬件來完成的,所述的程序可以存儲于計算機可讀取存儲介質中。這里所稱存儲介質,是指R0M/RAM、磁碟、光盤等。
[0140]以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。
【主權項】
1.一種服務創建方法,其特征在于,應用于終端,所述方法包括: 接收針對待創建服務的服務創建指令; 根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件; 調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型; 如果是,則將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。3.根據權利要求2所述的方法,其特征在于,所述方法還包括: 接收針對所述待創建服務的服務停止指令; 停止所述待創建服務;并將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。4.根據權利要求3所述的方法,其特征在于,在根據所述待創建服務的注冊表項,創建所述待創建服務之后,所述方法還包括: 注冊所述待創建服務的回調函數; 所述將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型,包括: 采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型; 所述將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型,包括: 采用所述回調函數將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。5.根據權利要求1-4中任一項所述的方法,其特征在于,所述待創建服務的注冊表項采用以下方式生成: 在安裝所述待創建服務對應的客戶端時,獲取所述待創建服務的服務名和其啟動文件的路徑; 根據所述待創建服務的服務名和其啟動文件的路徑,生成所述待創建服務的注冊表項。6.根據權利要求5所述的方法,其特征在于,所述待創建服務的注冊表項中的啟動類型為自啟動類型。7.根據權利要求5所述的方法,其特征在于,所述方法還包括: 按照預設時間間隔,獲取所述待創建服務的當前服務名和其啟動文件的當前路徑;其中,按照不同的預設時間間隔,獲取的所述待創建服務的當前服務名不同,獲取的所述待創建服務的啟動文件的當前路徑不同; 根據獲取的當前服務名和當前路徑,重新生成或更新所述待創建服務的注冊表項。8.一種服務創建裝置,其特征在于,應用于終端,所述裝置包括: 接收模塊,用于接收針對待創建服務的服務創建指令; 確定模塊,用于根據所述待創建服務的注冊表項,確定用于加載所述待創建服務的啟動文件的加載程序和所述啟動文件的路徑,其中,所述啟動文件為通過系統程序加載的文件; 創建模塊,用于調用所述加載程序加載所述啟動文件,進而創建所述待創建服務。9.根據權利要求8所述的裝置,其特征在于,所述裝置還包括: 判斷模塊,用于判斷所述待創建服務的注冊表項中的啟動類型是否為自啟動類型; 設置模塊,用于當所述待創建服務的注冊表項中的啟動類型為自啟動類型時,將所述待創建服務的注冊表項中的啟動類型設置為非自啟動類型。10.根據權利要求9所述的裝置,其特征在于,所述裝置還包括停止模塊; 所述接收模塊,具體用于接收針對所述待創建服務的服務停止指令; 所述停止模塊,用于當接收到針對所述待創建服務的服務停止指令時,停止所述待創建服務; 所述設置模塊,具體用于當接收到針對所述待創建服務的服務停止指令時,將所述待創建服務的注冊表項中的啟動類型設置為自啟動類型。
【文檔編號】G06F9/445GK105930192SQ201610287209
【公開日】2016年9月7日
【申請日】2016年5月3日
【發明人】李文靖
【申請人】北京金山安全軟件有限公司