補(bǔ)丁包安裝方法
【專利摘要】本申請(qǐng)實(shí)施例公開(kāi)了一種補(bǔ)丁包的安裝方法及裝置,該方法包括:根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件;判斷所述補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足補(bǔ)丁包安裝條件;當(dāng)滿足所述補(bǔ)丁包安裝條件時(shí),下載并安裝所述補(bǔ)丁包;其中,所述下載并安裝補(bǔ)丁包包括:下載并按照順序安裝所述每個(gè)補(bǔ)丁包,或者下載每個(gè)補(bǔ)丁包并僅安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。應(yīng)用本申請(qǐng)實(shí)施例進(jìn)行補(bǔ)丁安裝時(shí),漏洞補(bǔ)丁包的判定條件簡(jiǎn)單,當(dāng)同時(shí)檢出多個(gè)漏洞時(shí),補(bǔ)丁包安裝順序可能避免補(bǔ)丁包安裝失??;并且還可以選擇安裝最新的補(bǔ)丁包,因此不會(huì)對(duì)漏洞進(jìn)行重復(fù)修復(fù),節(jié)省系統(tǒng)資源。
【專利說(shuō)明】補(bǔ)丁包安裝方法
[0001]本發(fā)明專利申請(qǐng)是申請(qǐng)日為2011年2月21日、申請(qǐng)?zhí)枮?01110041779.8、名稱為“補(bǔ)丁包的安裝方法及裝置”的中國(guó)發(fā)明專利申請(qǐng)的分案申請(qǐng)。
【技術(shù)領(lǐng)域】
[0002]本申請(qǐng)涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種補(bǔ)丁包的安裝方法及裝置。
【背景技術(shù)】
[0003]在軟件應(yīng)用過(guò)程中,例如,各種操作系統(tǒng)、各種游戲等,可能會(huì)發(fā)現(xiàn)軟件存在問(wèn)題或漏洞,也可稱為BUG,漏洞會(huì)使用戶在使用軟件時(shí)出現(xiàn)被木馬、病毒或惡意軟件利用的情況干擾,或者降低系統(tǒng)和軟件的安全性能,因此可以通過(guò)修改或更新受影響的程序或模塊寫(xiě)出一些可插入源程序的程序語(yǔ)言,對(duì)這些漏洞進(jìn)行修復(fù),上述用于修復(fù)漏洞的程序語(yǔ)言就稱為補(bǔ)丁包。
[0004]以操作系統(tǒng)軟件為例,現(xiàn)有技術(shù)中專門(mén)的網(wǎng)站會(huì)定期發(fā)布一段時(shí)間內(nèi)的補(bǔ)丁包,用戶可以通過(guò)下載補(bǔ)丁包并安裝,以修復(fù)操作系統(tǒng)的相關(guān)漏洞。但是,發(fā)明人在對(duì)現(xiàn)有技術(shù)的研究過(guò)程中發(fā)現(xiàn),在漏洞判定和安裝補(bǔ)丁的過(guò)程中存在如下的問(wèn)題:
[0005]1、同時(shí)檢出多個(gè)漏洞時(shí),補(bǔ)丁安裝順序可能導(dǎo)致部分補(bǔ)丁安裝失敗;
[0006]2、重復(fù)修復(fù)同樣受影響的文件,導(dǎo)致系統(tǒng)資源浪費(fèi)和用戶體驗(yàn)差。
【發(fā)明內(nèi)容】
[0007]本申請(qǐng)實(shí)施例的目的在于提供了一種補(bǔ)丁包的安裝方法及裝置,以提高補(bǔ)丁包的安裝成功率,保證系統(tǒng)安全性能。
[0008]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例公開(kāi)了如下技術(shù)方案:
[0009]一種補(bǔ)丁包的安裝方法,包括:
[0010]根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件;
[0011]判斷所述補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件;
[0012]當(dāng)滿足所述補(bǔ)丁包安裝條件時(shí),下載并安裝所述補(bǔ)丁包;其中,
[0013]所述下載并安裝補(bǔ)丁包包括:
[0014]下載并按照順序安裝所述每個(gè)補(bǔ)丁包,或者下載所述每個(gè)補(bǔ)丁包并僅安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0015]所述補(bǔ)丁包安裝條件中的注冊(cè)表信息包括:注冊(cè)表鍵、注冊(cè)表鍵值;
[0016]所述補(bǔ)丁包安裝條件中的文件信息包括:文件版本信息、文件屬性。
[0017]所述判斷當(dāng)前補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足補(bǔ)丁包安裝條件包括:
[0018]判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件。
[0019]所述判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足補(bǔ)丁包安裝條件包括:
[0020]判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
[0021 ] 所述下載并按照順序安裝所述補(bǔ)丁包:
[0022]分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序;
[0023]根據(jù)分析結(jié)果確定補(bǔ)丁包的安裝順序,并按照所述安裝順序安裝所述每個(gè)補(bǔ)丁包。
[0024]所述下載每個(gè)補(bǔ)丁包并僅安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包包括:
[0025]判斷下載的所述每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件;
[0026]當(dāng)使用相同的補(bǔ)丁安裝判別條件時(shí),根據(jù)所述補(bǔ)丁包的發(fā)布時(shí)間選擇最新的補(bǔ)丁包進(jìn)行安裝。
[0027]還包括:
[0028]所述補(bǔ)丁包安裝結(jié)束后,返回安裝結(jié)果信息;
[0029]當(dāng)所述安裝結(jié)果信息表示所述補(bǔ)丁包安裝失敗時(shí),判斷所述補(bǔ)丁包是否安裝成功。
[0030]還包括:
[0031]所述補(bǔ)丁包安裝結(jié)束后,在輸出界面中顯示所述補(bǔ)丁包的信息。
[0032]一種補(bǔ)丁包的安裝裝置,包括:
[0033]生成單元,用于根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件;
[0034]判斷單元,用于判斷所述補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件;
[0035]安裝單元,用于當(dāng)滿足所述補(bǔ)丁包安裝條件時(shí),下載并安裝所述補(bǔ)丁包;其中,所述下載并安裝補(bǔ)丁包包括:下載并按照順序安裝所述每個(gè)補(bǔ)丁包,或者下載所述每個(gè)補(bǔ)丁包并僅安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0036]所述生成單元生成的每個(gè)補(bǔ)丁包安裝條件中的注冊(cè)表信息包括:注冊(cè)表鍵、注冊(cè)表鍵值;文件信息包括:文件版本信息、文件屬性。
[0037]所述判斷單元包括至少一個(gè)下述單元:
[0038]第一信息判斷單元,用于判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件;
[0039]第二信息判斷單元,用于判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
[0040]所述安裝單元包括至少一個(gè)下述單元:
[0041]順序安裝單元,用于分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序,根據(jù)分析結(jié)果確定補(bǔ)丁包的安裝順序,并按照所述安裝順序安裝所述每個(gè)補(bǔ)丁包;
[0042]選擇安裝單元,用于判斷下載的所述每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件,當(dāng)使用相同的補(bǔ)丁安裝判別條件時(shí),根據(jù)所述補(bǔ)丁包的發(fā)布時(shí)間選擇最新的補(bǔ)丁包進(jìn)行安裝;
[0043]直接安裝單元,用于僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0044]還包括:
[0045]返回單元,用于在所述補(bǔ)丁包安裝結(jié)束后,返回安裝結(jié)果信息;[0046]所述判斷單元,還用于當(dāng)所述安裝結(jié)果信息表示所述補(bǔ)丁包安裝失敗時(shí),判斷所述補(bǔ)丁包是否安裝成功。
[0047]還包括:
[0048]顯示單元,用于所述補(bǔ)丁包安裝結(jié)束后,在輸出界面中顯示所述補(bǔ)丁包的信息。
[0049]由上述本申請(qǐng)實(shí)施例提供的技術(shù)方案可以看出,本申請(qǐng)實(shí)施例中根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件,判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件,當(dāng)滿足補(bǔ)丁包安裝條件時(shí),下載并安裝補(bǔ)丁包。應(yīng)用本申請(qǐng)實(shí)施例進(jìn)行補(bǔ)丁安裝時(shí),可以下載并按照順序安裝每個(gè)補(bǔ)丁包,或者下載每個(gè)補(bǔ)丁包并僅安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包;應(yīng)用本申請(qǐng)實(shí)施例,當(dāng)同時(shí)檢出多個(gè)漏洞時(shí),按照順序安裝補(bǔ)丁包可以避免發(fā)布時(shí)間在后的補(bǔ)丁包先安裝所導(dǎo)致的安裝失?。徊⑶彝ㄟ^(guò)選擇安裝最新的補(bǔ)丁包,使得在下載了多個(gè)具有相同判別條件的補(bǔ)丁包時(shí),不會(huì)對(duì)漏洞進(jìn)行重復(fù)修復(fù),由此節(jié)省系統(tǒng)資源。
【專利附圖】
【附圖說(shuō)明】
[0050]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0051]圖1為本申請(qǐng)補(bǔ)丁包的安裝方法的第一實(shí)施例流程圖;
[0052]圖2為本申請(qǐng)補(bǔ)丁包的安裝方法的第二實(shí)施例流程圖;
[0053]圖3為本申請(qǐng)補(bǔ)丁包的安裝方法的第三實(shí)施例流程圖;
[0054]圖4A為本申請(qǐng)補(bǔ)丁包的安裝裝置的實(shí)施例框圖;
[0055]圖4B為本申請(qǐng)圖4A中判斷單元的實(shí)施例框圖;
[0056]圖4C為本申請(qǐng)圖4A中安裝單元的實(shí)施例框圖。
【具體實(shí)施方式】
[0057]本發(fā)明如下實(shí)施例提供了一種補(bǔ)丁包的安裝方法及裝置。
[0058]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0059]參見(jiàn)圖1,為本申請(qǐng)補(bǔ)丁包的安裝方法的第一實(shí)施例流程圖:
[0060]步驟101:根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件。
[0061]其中,補(bǔ)丁包安裝條件中的注冊(cè)表信息可以包括:注冊(cè)表鍵、注冊(cè)表鍵值;補(bǔ)丁包安裝條件中的文件信息可以包括:文件版本信息、文件屬性。
[0062]步驟102:判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件,若是,則執(zhí)行步驟103 ;否則,執(zhí)行步驟104。
[0063]具體的,可以判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件;也可以判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足特定的條件或在指定的范圍內(nèi)。[0064]以注冊(cè)表區(qū)間為例,假設(shè)補(bǔ)丁 kb370009為對(duì)Adobe Flash Player遠(yuǎn)程代碼執(zhí)行漏洞,該補(bǔ)丁的條件掃描邏輯包括如下兩個(gè)條件:
[0065]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstall\Adobe Flash Player ActiveX\DisplayVersion 小于 10.1.102.64 ;以及
[0066]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersi on\Uninstall\Adobe Flash Player ActiveX\DisplayVersion 大于等于 10.0.0.0 ;
[0067]根據(jù)上述兩個(gè)判斷條件可知,在獲取當(dāng)前系統(tǒng)的注冊(cè)表版本號(hào)后,可以比較該版本號(hào)是否在上述兩個(gè)判斷條件所限定的注冊(cè)表范圍內(nèi)。
[0068]需要說(shuō)明的是,由于Adobe Flash Playerl的補(bǔ)丁在每次升級(jí)時(shí),并非累積更新某個(gè)固定位置的文件,而是每次在注冊(cè)表中寫(xiě)此次需要更新的版本號(hào),或者在C:\WIND0WS\system32\Macromed\Flash文件夾下釋放一個(gè)全新文件,例如,上一版本為FlashlOl.0cx,則此次為FlashlOm.0cx。由此可知,根據(jù)文件名稱難以對(duì)該漏洞進(jìn)行掃描,因此選擇對(duì)注冊(cè)表進(jìn)行掃描。
[0069]以文件版本區(qū)間為例,由于對(duì)于Adobe的升級(jí)有一定的范圍,因此判斷條件會(huì)限制在對(duì)一定區(qū)間內(nèi)的用戶進(jìn)行升級(jí)。假設(shè)補(bǔ)丁 kb2416400用于對(duì)IE瀏覽器漏洞進(jìn)行修復(fù),IE瀏覽器針對(duì)版本為IE6.7.8。其中,微軟也對(duì)IE版本進(jìn)行了劃分升級(jí),例如,IE7的升級(jí)所增加的限制條件如下:
[0070]programf iles\internet exp1rer\IEXPL0RE.EXE 大于等于 ?.0.5730.11 ;以及
[0071]programf iles\internet exp1rer\IEXPL0RE.EXE 小于 7.1.0.0 ;
[0072]根據(jù)上述兩個(gè)判斷條件可知,對(duì)此本次發(fā)布的補(bǔ)丁包,只針對(duì)上述IE區(qū)間內(nèi)的用戶進(jìn)行升級(jí)。
[0073]又例如,ΙΕ8的升級(jí)所增加的限制條件如下:
[0074]programf iles\internet exp lorer \i exp lore, exe 大于等于 8.0.6001.18702 ;
[0075]programf iles\internet exp lorer \i exp lore, exe 小于 8.1.0.0。
[0076]步驟103:下載并安裝補(bǔ)丁包,結(jié)束當(dāng)前流程。
[0077]安裝補(bǔ)丁包包括:下載并按照順序安裝每個(gè)補(bǔ)丁包,或者下載每個(gè)補(bǔ)丁包并僅安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0078]其中,下載并按照順序安裝每個(gè)補(bǔ)丁包時(shí),分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序,根據(jù)分析結(jié)果確定補(bǔ)丁包的 安裝順序,并按照安裝順序安裝每個(gè)補(bǔ)丁包;具體應(yīng)用時(shí),可以在服務(wù)器端完成對(duì)每個(gè)補(bǔ)丁包的下載以及安裝順序的分析,然后由客戶端按照確定的安裝順序獲取補(bǔ)丁包并進(jìn)行安裝,也可以由客戶端直接從服務(wù)器下載補(bǔ)丁包,并對(duì)每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序進(jìn)行分析,然后按照分析結(jié)果進(jìn)行順序安裝。
[0079]下載每個(gè)補(bǔ)丁包并僅安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包時(shí),判斷下載的每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件,當(dāng)使用相同的補(bǔ)丁安裝判別條件時(shí),根據(jù)補(bǔ)丁包的發(fā)布時(shí)間選擇最新的補(bǔ)丁包進(jìn)行安裝;具體應(yīng)用時(shí),客戶端可以從服務(wù)器下載所有的補(bǔ)丁包,然后由客戶端判斷所下載的每個(gè)補(bǔ)丁包的補(bǔ)丁安裝判別條件,對(duì)于補(bǔ)丁安裝判別條件一致的補(bǔ)丁包,從中選擇發(fā)布時(shí)間最新的補(bǔ)丁包。
[0080]僅下載并安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包時(shí),可以在服務(wù)器完成對(duì)所有補(bǔ)丁包的下載,以及判斷存在使用相同的判別條件的補(bǔ)丁包時(shí),選擇最新的補(bǔ)丁包,然后客戶端下載該最新的補(bǔ)丁包進(jìn)行安裝,由于由服務(wù)器統(tǒng)一進(jìn)行分析,因此減少了每個(gè)客戶端對(duì)補(bǔ)丁包判別條件的判斷所耗費(fèi)的資源。
[0081]進(jìn)一步,在補(bǔ)丁包安裝結(jié)束后,系統(tǒng)還可以返回安裝結(jié)果信息,例如返回安裝成功或者安裝失敗的代碼。由于某些補(bǔ)丁包在實(shí)際安裝成功后,系統(tǒng)仍然可能返回當(dāng)安裝失敗的代碼,例如,office類補(bǔ)丁包,因此系統(tǒng)可以針對(duì)這些補(bǔ)丁包的安裝返回失敗信息時(shí),進(jìn)一步判斷該補(bǔ)丁包是否實(shí)際安裝成功。
[0082]另外,在補(bǔ)丁包安裝結(jié)束后,系統(tǒng)可以在用戶界面中輸出所安裝補(bǔ)丁包的詳細(xì)信息,例如,該補(bǔ)丁包的名稱,補(bǔ)丁包的主要用途等等,以便向用戶展示補(bǔ)丁包的功能,提升用戶體驗(yàn)。
[0083]步驟104:不安裝獲取的補(bǔ)丁包,結(jié)束當(dāng)前流程。
[0084]參見(jiàn)圖2,為本申請(qǐng)補(bǔ)丁包的安裝方法的第二實(shí)施例流程圖,該實(shí)施例示出了按照順序安裝補(bǔ)丁包的過(guò)程:
[0085]步驟201:根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件。
[0086]其中,補(bǔ)丁包安裝條件中的注冊(cè)表信息可以包括:注冊(cè)表鍵、注冊(cè)表鍵值。根據(jù)注冊(cè)表鍵值及鍵值大小可以判斷系統(tǒng)中已經(jīng)存在的注冊(cè)表是否包含獲取的注冊(cè)表。
[0087]補(bǔ)丁包安裝條件中的文件信息可以包括:文件版本信息、文件屬性。根據(jù)文件屬性可以判斷文件是否存在,根據(jù)文件版本信息可以確定系統(tǒng)中已存在的文件版本號(hào)是否包含了文件版本號(hào)。
[0088]步驟202:判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足補(bǔ)丁包安裝條件,若是,則執(zhí)行步驟203 ;否則,執(zhí)行步驟205。
[0089]需要說(shuō)明的是,當(dāng)從補(bǔ)丁包中獲取到注冊(cè)表信息和文件信息中的一種信息時(shí),則僅需要對(duì)獲取到的信息進(jìn)行判斷。例如,對(duì)于補(bǔ)丁 KB2467659來(lái)說(shuō),假設(shè)該補(bǔ)丁僅修改注冊(cè)表,因此不用通過(guò)文件信息來(lái)判斷這個(gè)補(bǔ)丁是否安裝,僅需要通過(guò)判斷注冊(cè)表項(xiàng)中此補(bǔ)丁是否已安裝來(lái)判斷即可,該注冊(cè)表信息如下所示:
[0090]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Component Based Servicing\Packages\package_[*]_for_KB24676 59 [*]\installtimelow
[0091]步驟203:通過(guò)分析下載的補(bǔ)丁包中每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序,確定補(bǔ)丁包的安裝順序。
[0092]每次下載的補(bǔ)丁包可能包含多個(gè),這些補(bǔ)丁包的更新時(shí)間可能不同,因此在安裝時(shí),需要按照補(bǔ)丁包之間的更新時(shí)間和相互之間的關(guān)系確定安裝的順序。例如,對(duì)于補(bǔ)丁包KB2416400和KB2467659來(lái)說(shuō),假設(shè)這兩個(gè)補(bǔ)丁包的發(fā)布日期相同,其中補(bǔ)丁包KB2416400用于解決IE瀏覽器的CSSOday漏洞問(wèn)題,但此補(bǔ)丁修復(fù)后會(huì)導(dǎo)致郵件檢測(cè)日語(yǔ)郵件(JIS)編碼錯(cuò)誤,而補(bǔ)丁包KB2467659用于解決該問(wèn)題,因此在安裝補(bǔ)丁包時(shí),通過(guò)比較發(fā)布日期、及相互之間的關(guān)系等,將補(bǔ)丁包KB2416400的安裝順序置前,補(bǔ)丁包KB2467659的安裝順序置后,以保證在解決了 IE瀏覽器CSSOday漏洞問(wèn)題的同時(shí),解決郵件檢測(cè)日語(yǔ)郵件(JIS)編碼錯(cuò)誤的問(wèn)題。
[0093]步驟204:按照安裝順序安裝獲取的補(bǔ)丁包,結(jié)束當(dāng)前流程。[0094]步驟205:不安裝獲取的補(bǔ)丁包,結(jié)束當(dāng)前流程。
[0095]當(dāng)包含了獲取的注冊(cè)表信息和文件信息時(shí),則說(shuō)明系統(tǒng)中不存在相應(yīng)漏洞,或者已經(jīng)安裝了補(bǔ)丁包,因此無(wú)需安裝補(bǔ)丁包。
[0096]參見(jiàn)圖3,為本申請(qǐng)補(bǔ)丁包的安裝方法的第三實(shí)施例流程圖,該實(shí)施例示出了安裝最新補(bǔ)丁包的過(guò)程:
[0097]步驟301:根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件。
[0098]其中,補(bǔ)丁包安裝條件中的注冊(cè)表信息可以包括:注冊(cè)表鍵、注冊(cè)表鍵值。根據(jù)注冊(cè)表鍵值及鍵值大小可以判斷系統(tǒng)中已經(jīng)存在的注冊(cè)表是否包含獲取的注冊(cè)表。
[0099]文件信息可以包括:文件版本號(hào)、文件標(biāo)識(shí)。根據(jù)文件標(biāo)識(shí)可以判斷文件是否存在,根據(jù)文件版本號(hào)可以確定系統(tǒng)中已存在的文件版本號(hào)是否包含了獲取的文件版本號(hào)。
[0100]步驟302:判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足補(bǔ)丁包安裝條件,若是,則執(zhí)行步驟303 ;否則,執(zhí)行步驟306。
[0101]步驟303:判斷下載的每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件,若是,則執(zhí)行步驟304 ;否則,執(zhí)行步驟305。
[0102]每次下載的補(bǔ)丁包可能包含多個(gè),這些補(bǔ)丁包的更新時(shí)間可能不同,因此在安裝時(shí),更新時(shí)間在后的補(bǔ)丁包中可能包含了更新在前的補(bǔ)丁包的功能,如果通過(guò)這些補(bǔ)丁包對(duì)同一漏洞進(jìn)行多次修復(fù),將耗費(fèi)系統(tǒng)資源。因此本申請(qǐng)實(shí)施例中判斷補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件,以便確定補(bǔ)丁包是否對(duì)同一漏洞進(jìn)行修復(fù),如果有多個(gè)補(bǔ)丁包對(duì)同一漏洞進(jìn)行修復(fù),則可以選擇發(fā)布時(shí)間最近的一個(gè)補(bǔ)丁包進(jìn)行修復(fù)即可。
[0103]步驟304:根據(jù)補(bǔ)丁包的發(fā)布時(shí)間選擇最新的補(bǔ)丁包進(jìn)行安裝,結(jié)束當(dāng)前流程。
[0104]步驟305:安裝所獲取的所有補(bǔ)丁包,結(jié)束當(dāng)前流程。
[0105]步驟306:不安裝獲取的補(bǔ)丁包,結(jié)束當(dāng)前流程。
[0106]若當(dāng)前系統(tǒng)不滿足補(bǔ)丁包安裝條件,則說(shuō)明系統(tǒng)中不存在相應(yīng)漏洞,或者已經(jīng)安裝了補(bǔ)丁包,因此無(wú)需安裝補(bǔ)丁包。
[0107]與本申請(qǐng)補(bǔ)丁包的安裝方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了補(bǔ)丁包的安裝裝置的實(shí)施例。
[0108]參見(jiàn)圖4A,為本申請(qǐng)補(bǔ)丁包的安裝裝置的實(shí)施例框圖:
[0109]該補(bǔ)丁包的安裝裝置包括:生成單元410、判斷單元420和安裝單元430。
[0110]其中,生成單元410,用于根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件;
[0111]判斷單元420,用于判斷所述補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件;
[0112]安裝單元430,用于當(dāng)滿足所述補(bǔ)丁包安裝條件時(shí),下載并安裝所述補(bǔ)丁包;其中,所述下載并安裝補(bǔ)丁包包括:下載并按照順序安裝所述每個(gè)補(bǔ)丁包,或者下載所述每個(gè)補(bǔ)丁包并僅安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0113]其中,補(bǔ)丁包安裝條件中的注冊(cè)表信息可以包括:注冊(cè)表鍵、注冊(cè)表鍵值;補(bǔ)丁包安裝條件中的文件信息可以包括:文件版本信息、文件屬性。[0114]進(jìn)一步,該補(bǔ)丁包的安裝裝置還可以包括(圖4A中未示出):返回單元,用于在所述補(bǔ)丁包安裝結(jié)束后,返回安裝結(jié)果信息;所述判斷單元420,還用于當(dāng)所述安裝結(jié)果信息表示所述補(bǔ)丁包安裝失敗時(shí),判斷所述補(bǔ)丁包是否安裝成功。
[0115]進(jìn)一步,該補(bǔ)丁包的安裝裝置還可以包括(圖4A中未示出):顯示單元,用于所述補(bǔ)丁包安裝結(jié)束后,在輸出界面中顯示所述補(bǔ)丁包的信息。
[0116]參見(jiàn)圖4B,為圖4A中判斷單元的實(shí)施例框圖:
[0117]該判斷單元420可以包括至少一個(gè)下述單元(圖4B將兩個(gè)單元均示出):
[0118]第一信息判斷單元421,用于判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件;
[0119]第二信息判斷單元422,用于判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
[0120]參見(jiàn)圖4C,為本申請(qǐng)圖4A中安裝單元的實(shí)施例框圖:
[0121]該安裝單元430可以包括至少一個(gè)下述單元(圖4C將三個(gè)單元均示出):
[0122]順序安裝單元431,用于分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序,根據(jù)分析結(jié)果確定補(bǔ)丁包的安裝順序,并按照所述安裝順序安裝所述每個(gè)補(bǔ)丁包;
[0123]選擇安裝單元432,用于判斷下載的所述每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件,當(dāng)使用相同的補(bǔ)丁安裝判別條件時(shí),根據(jù)所述補(bǔ)丁包的發(fā)布時(shí)間選擇最新的補(bǔ)丁包進(jìn)行安裝;
[0124]直接安裝單元,用于僅下載并安裝所述每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
[0125]通過(guò)對(duì)以上實(shí)施方式的描述可知,本申請(qǐng)實(shí)施例中根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息的補(bǔ)丁包安裝條件,判斷補(bǔ)丁包對(duì)應(yīng)的安裝對(duì)象是否滿足所述補(bǔ)丁包安裝條件,當(dāng)滿足補(bǔ)丁包安裝條件時(shí),下載并安裝補(bǔ)丁包。應(yīng)用本申請(qǐng)實(shí)施例進(jìn)行補(bǔ)丁安裝時(shí),可以下載并按照順序安裝每個(gè)補(bǔ)丁包,或者下載每個(gè)補(bǔ)丁包并僅安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包,或者僅下載并安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包;應(yīng)用本申請(qǐng)實(shí)施例,當(dāng)同時(shí)檢出多個(gè)漏洞時(shí),按照順序安裝補(bǔ)丁包可以避免發(fā)布時(shí)間在后的補(bǔ)丁包先安裝所導(dǎo)致的安裝失敗;并且通過(guò)選擇安裝最新的補(bǔ)丁包,使得在下載了多個(gè)具有相同判別條件的補(bǔ)丁包時(shí),不會(huì)對(duì)漏洞進(jìn)行重復(fù)修復(fù),由此節(jié)省系統(tǒng)資源。
[0126]本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例中的技術(shù)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明實(shí)施例中的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0127]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0128]以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種補(bǔ)丁包安裝方法,其包括: 根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成補(bǔ)丁包安裝條件,所述補(bǔ)丁包安裝條件包括基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息; 判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件; 如果滿足所述補(bǔ)丁包安裝條件,則下載并安裝所述補(bǔ)丁包。
2.如權(quán)利要求1所述的補(bǔ)丁包安裝方法,其中,所述下載并安裝所述補(bǔ)丁包包括: 分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序; 根據(jù)分析結(jié)果確定補(bǔ)丁包的安裝順序,并按照所述安裝順序安裝所述每個(gè)補(bǔ)丁包。
3.如權(quán)利要求1所述的補(bǔ)丁包安裝方法,其中,所述下載并安裝所述補(bǔ)丁包包括: 下載每個(gè)補(bǔ)丁包; 判斷下載的每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件; 對(duì)于使用相同的補(bǔ)丁安裝判別條件的補(bǔ)丁包,從中選擇發(fā)布時(shí)間最新的補(bǔ)丁包進(jìn)行安裝。
4.如權(quán)利要求1所述的補(bǔ)丁包安裝方法,其中,所述下載并安裝所述補(bǔ)丁包包括: 僅下載并安裝每個(gè)補(bǔ)丁包中最新的補(bǔ)丁包。
5.如權(quán)利要求1至4中任一個(gè)所述的方法,其中, 所述注冊(cè)表包括:注冊(cè)表鍵、注冊(cè)表鍵值; 所述文件信息包括:文件版本信息、文件屬性。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件包括: 判斷所述對(duì)象中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件。
7.如權(quán)利要求6所述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件還包括: 判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
8.—種補(bǔ)丁包安裝方法,其包括: 判斷要安裝補(bǔ)丁包的對(duì)象是否滿足相關(guān)補(bǔ)丁包的補(bǔ)丁包安裝條件,所述補(bǔ)丁包安裝條件根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成; 如果滿足所述補(bǔ)丁包安裝條件,則分析每個(gè)補(bǔ)丁包的發(fā)布時(shí)間和順序; 根據(jù)分析結(jié)果確定補(bǔ)丁包的安裝順序,并按照所述安裝順序安裝所述每個(gè)補(bǔ)丁包。
9.如權(quán)利要求8所述的方法,其中,所述補(bǔ)丁包安裝條件包括基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息。
10.如權(quán)利要求9所述的方法,其中, 所述注冊(cè)表包括:注冊(cè)表鍵、注冊(cè)表鍵值; 所述文件信息包括:文件版本信息、文件屬性。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件包括: 判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件。
12.如權(quán)利要求11所 述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件還包括:判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
13.—種補(bǔ)丁包安裝方法,其包括: 判斷要安裝補(bǔ)丁包的對(duì)象是否滿足相關(guān)補(bǔ)丁包的補(bǔ)丁包安裝條件,所述補(bǔ)丁包安裝條件根據(jù)漏洞及其相關(guān)補(bǔ)丁包生成; 如果滿足所述補(bǔ)丁包安裝條件,則下載每個(gè)補(bǔ)丁包; 判斷下載的每個(gè)補(bǔ)丁包是否使用相同的補(bǔ)丁安裝判別條件; 對(duì)于使用相同的補(bǔ)丁安裝判別條件的補(bǔ)丁包,從中選擇發(fā)布時(shí)間最新的補(bǔ)丁包進(jìn)行安裝。
14.如權(quán)利要求13所述的方法,其中,所述補(bǔ)丁包安裝條件包括基于每個(gè)補(bǔ)丁包的注冊(cè)表和/或文件信息。
15.如權(quán)利要求14所述的方法,其中, 所述注冊(cè)表包括:注冊(cè)表鍵、注冊(cè)表鍵值; 所述文件信息包括:文件版本信息、文件屬性。
16.根據(jù)權(quán)利要求15所述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件包括: 判斷系統(tǒng)中是否存在指定的注冊(cè)表鍵、指定注冊(cè)表鍵的值、或指定的文件。`
17.如權(quán)利要求16所述的方法,其中,所述判斷要安裝補(bǔ)丁包的對(duì)象是否滿足所述補(bǔ)丁包安裝條件還包括: 判斷指定的注冊(cè)表鍵值和/或文件的版本號(hào)是否滿足預(yù)設(shè)條件或在指定的范圍內(nèi)。
【文檔編號(hào)】G06F9/445GK103823693SQ201410028711
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2011年2月21日 優(yōu)先權(quán)日:2011年2月21日
【發(fā)明者】浦欣, 萬(wàn)立新, 趙君 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司