一種補(bǔ)丁包組件生成、處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種補(bǔ)丁包組件生成、處理方法及裝置。
【背景技術(shù)】
[0002]在軟件部署、安裝過程中,軟件服務(wù)商會(huì)給客戶提供軟件的服務(wù)有效期限,當(dāng)需要修復(fù)軟件漏洞時(shí),軟件服務(wù)商會(huì)通過發(fā)布補(bǔ)丁包,即修復(fù)安裝小程序給客戶修復(fù)漏洞,補(bǔ)丁包中包含很多動(dòng)態(tài)鏈接庫(DLL,Dynamic Link Library)組件。
[0003]在安裝產(chǎn)品補(bǔ)丁包時(shí),補(bǔ)丁安裝程序會(huì)在線驗(yàn)證客戶是否在有效服務(wù)期內(nèi),如果在有效服務(wù)期內(nèi),可成功安裝補(bǔ)丁,若超出有效服務(wù)期,則不允許安裝補(bǔ)丁,提示需要續(xù)服務(wù)費(fèi),安裝失敗。
[0004]現(xiàn)有技術(shù)方案只有在客戶安裝補(bǔ)丁程序時(shí)才能做到服務(wù)期控制,存在很大的被破解漏洞,不在有效服務(wù)期內(nèi)的客戶通過其他非法途徑獲取補(bǔ)丁中的DLL組件,然后手工拷貝這些DLL組件替換到軟件安裝目錄,便可實(shí)現(xiàn)成功安裝補(bǔ)丁。這樣即使沒有交服務(wù)費(fèi)的客戶卻能享受到產(chǎn)品補(bǔ)丁服務(wù),導(dǎo)致服務(wù)期控制失效。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種補(bǔ)丁包組件生成、處理方法及裝置,能夠防止補(bǔ)丁包被破解。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種補(bǔ)丁包組件生成方法,包括:
[0007]服務(wù)器獲取當(dāng)前日期作為編譯日期;
[0008]服務(wù)器獲取服務(wù)期校驗(yàn)指示;
[0009]服務(wù)器將編譯日期和服務(wù)期校驗(yàn)指示與補(bǔ)丁包程序進(jìn)行編譯以生成補(bǔ)丁包組件,服務(wù)期校驗(yàn)指示用于使得客戶端將編譯日期與補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期進(jìn)行比較,若編譯日期小于或等于服務(wù)截止日期,則執(zhí)行補(bǔ)丁包組件的功能,若編譯日期大于服務(wù)截止日期,則不執(zhí)行補(bǔ)丁包組件的功能。
[0010]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,補(bǔ)丁包組件為動(dòng)態(tài)鏈接庫文件DLL組件。
[0011]第二方面,本發(fā)明實(shí)施例提供了一種補(bǔ)丁包組件處理方法,包括:
[0012]客戶端獲取補(bǔ)丁包組件,補(bǔ)丁包組件中包括補(bǔ)丁包組件的編譯日期和服務(wù)期校驗(yàn)指示;
[0013]客戶端獲取補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期;
[0014]客戶端根據(jù)服務(wù)期校驗(yàn)指示將編譯日期與服務(wù)截止日期進(jìn)行比較;
[0015]若編譯日期小于或等于服務(wù)截止日期,則客戶端執(zhí)行補(bǔ)丁包組件的功能;
[0016]若編譯日期大于服務(wù)截止日期,則客戶端不執(zhí)行補(bǔ)丁包組件的功能。
[0017]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,客戶端獲取補(bǔ)丁包組件包括:當(dāng)用戶登錄時(shí),客戶端獲取補(bǔ)丁包組件;或,當(dāng)用戶使用組件對(duì)應(yīng)的功能時(shí),客戶端獲取補(bǔ)丁包組件。
[0018]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,客戶端獲取補(bǔ)丁包對(duì)應(yīng)的軟件的服務(wù)截止日期包括:客戶端獲取用戶信息;客戶端再根據(jù)用戶信息獲取服務(wù)截止日期。
[0019]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,補(bǔ)丁包組件為動(dòng)態(tài)鏈接庫文件DLL組件。
[0020]第三方面,本發(fā)明實(shí)施例提供了一種補(bǔ)丁服務(wù)器,包括:
[0021]第一獲取模塊,用于獲取當(dāng)前日期作為編譯日期;
[0022]第二獲取模塊,用于獲取服務(wù)期校驗(yàn)指示;
[0023]編譯模塊,用于將編譯日期和服務(wù)期校驗(yàn)指示與補(bǔ)丁包程序進(jìn)行編譯以生成補(bǔ)丁包組件,服務(wù)期校驗(yàn)指示用于使得客戶端將編譯日期與補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期進(jìn)行比較,若編譯日期小于或等于服務(wù)截止日期,則執(zhí)行補(bǔ)丁包組件的功能,若編譯日期大于服務(wù)截止日期,則不執(zhí)行補(bǔ)丁包組件的功能。
[0024]第四方面,本發(fā)明實(shí)施例提供了一種客戶端設(shè)備,包括:
[0025]第一獲取模塊,用于獲取補(bǔ)丁包組件,補(bǔ)丁包組件中包括補(bǔ)丁包組件的編譯日期和服務(wù)期校驗(yàn)指示;第二獲取模塊,用于獲取補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期;比較模塊,用于根據(jù)服務(wù)期校驗(yàn)指示將編譯日期與服務(wù)截止日期進(jìn)行比較;執(zhí)行模塊,用于當(dāng)比較模塊的比較結(jié)果為編譯日期小于或等于服務(wù)截止日期時(shí),執(zhí)行補(bǔ)丁包組件的功能,當(dāng)比較模塊的比較結(jié)果為編譯日期大于服務(wù)截止日期時(shí),不執(zhí)行補(bǔ)丁包組件的功能。
[0026]結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,第一獲取模塊具體用于:當(dāng)用戶登錄時(shí),獲取補(bǔ)丁包組件;或,當(dāng)用戶使用組件對(duì)應(yīng)的功能時(shí),獲取補(bǔ)丁包組件。
[0027]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,第二獲取模塊包括:第一獲取單元,用于獲取用戶信息;第二獲取單元,用于根據(jù)用戶信息獲取服務(wù)截止日期。
[0028]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例的方案具有如下有益效果:
[0029]本發(fā)明實(shí)施例中,服務(wù)器在生成組件時(shí),獲取當(dāng)前日期作為編譯日期,并獲取服務(wù)期校驗(yàn)指示,將編譯日期和服務(wù)期校驗(yàn)指示與補(bǔ)丁包程序進(jìn)行編譯以生成補(bǔ)丁包組件,月艮務(wù)期校驗(yàn)指示用于使得客戶端將編譯日期與補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期進(jìn)行比較,若編譯日期小于或等于服務(wù)截止日期,則執(zhí)行補(bǔ)丁包組件的功能,若編譯日期大于服務(wù)截止日期,則不執(zhí)行補(bǔ)丁包組件的功能。本方案將組件的編譯日期硬編碼進(jìn)組件中,外部無法更改和破解,所以沒有交服務(wù)費(fèi)的客戶即使拷貝補(bǔ)丁包中的組件也不能享受到產(chǎn)品補(bǔ)丁服務(wù),從而能夠防止補(bǔ)丁包被破解。
【附圖說明】
[0030]圖1為本發(fā)明實(shí)施例中補(bǔ)丁包組件生成方法的一種流程圖;
[0031]圖2為本發(fā)明實(shí)施例中補(bǔ)丁包組件處理方法的一種流程圖;
[0032]圖3為本發(fā)明實(shí)施例中補(bǔ)丁服務(wù)器的功能結(jié)構(gòu)示意圖;
[0033]圖4為本發(fā)明實(shí)施例中客戶端設(shè)備的功能結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0034]本發(fā)明實(shí)施例提供了一種補(bǔ)丁包組件生成、處理方法及裝置,能夠防止補(bǔ)丁包被破解。下面分別進(jìn)行詳細(xì)說明。
[0035]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0036]本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三…第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0037]在通過補(bǔ)丁包修復(fù)漏洞的過程中,涉及到補(bǔ)丁服務(wù)器和加載補(bǔ)丁包的客戶端兩個(gè)網(wǎng)元,其中服務(wù)器生成補(bǔ)丁包組件,向客戶端提供補(bǔ)丁包組件,保存客戶端的數(shù)據(jù)等,客戶端在獲取到該補(bǔ)丁包后,加載該補(bǔ)丁包組件對(duì)漏洞進(jìn)行修復(fù)。
[0038]下面結(jié)合圖1對(duì)本發(fā)明實(shí)施例中服務(wù)器生成補(bǔ)丁包組件的方法進(jìn)行詳細(xì)說明。
[0039]101、服務(wù)器獲取當(dāng)前日期作為編譯日期;
[0040]服務(wù)器在發(fā)布修復(fù)漏洞的補(bǔ)丁包時(shí),并不是直接編譯補(bǔ)丁程序,而獲取服務(wù)器系統(tǒng)的當(dāng)前日期作為編譯的日期,將其作為到補(bǔ)丁程序的一部分。
[0041]102、服務(wù)器獲取服務(wù)期校驗(yàn)指示;
[0042]服務(wù)器除了獲取當(dāng)前的日期以外,還獲取補(bǔ)丁包組件服務(wù)期校驗(yàn)指示,將其也作為補(bǔ)丁程序的一部分,該服務(wù)期校驗(yàn)指示可以為一段可執(zhí)行的代碼,目的為防止補(bǔ)丁包組件被破解。
[0043]103、服務(wù)器將編譯日期和服務(wù)期校驗(yàn)指示與補(bǔ)丁包程序進(jìn)行編譯以生成補(bǔ)丁包組件。
[0044]服務(wù)器在獲取到編譯日期與服務(wù)期校驗(yàn)指示后,將編譯日期與服務(wù)期校驗(yàn)指示與補(bǔ)丁包程序一起進(jìn)行編譯,以生成補(bǔ)丁包組件,一般來說,生成的補(bǔ)丁包組件可以有多個(gè),在重要的組件中都會(huì)存在該編譯日期和服務(wù)期校驗(yàn)指示。
[0045]服務(wù)期校驗(yàn)指示用于使得客戶端將編譯日期與補(bǔ)丁包組件對(duì)應(yīng)的軟件的服務(wù)截止日期進(jìn)行比較,若編譯日期小于或等于服務(wù)截止日期,說明運(yùn)行該軟件的客戶仍在服務(wù)期限內(nèi),