亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

校驗熱補丁或者動態(tài)庫的方法及裝置與流程

文檔序號:12305143閱讀:204來源:國知局
校驗熱補丁或者動態(tài)庫的方法及裝置與流程

本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及一種校驗熱補丁或者動態(tài)庫的方法及裝置。



背景技術(shù):

應(yīng)用程序在運行的過程中時常出現(xiàn)問題,當(dāng)應(yīng)用程序在運行的過程中出現(xiàn)問題時,程序人員通常需要將熱補丁文件或者動態(tài)庫文件導(dǎo)入至出現(xiàn)問題的目標(biāo)程序,以使得跳轉(zhuǎn)至熱補丁文件或者動態(tài)庫文件中的新目標(biāo)函數(shù)的指令位置運行,然而在將熱補丁文件或者動態(tài)庫文件導(dǎo)入到目標(biāo)程序時,目標(biāo)程序需要對熱補丁文件或者動態(tài)庫文件進行校驗,以確定該熱補丁文件以及動態(tài)庫文件的安全性。

目前,一種校驗熱補丁文件或者動態(tài)庫文件的方法,目標(biāo)程序首先解析將導(dǎo)入的熱補丁文件或者動態(tài)庫文件,獲取熱補丁文件或者動態(tài)庫文件中攜帶的代碼段的校驗值,然后計算自身的代碼段對應(yīng)的循環(huán)冗余碼(英文全稱:cyclicredundancycode,英文縮寫:crc)校驗值,最后判斷自身代碼段對應(yīng)的crc校驗值與熱補丁文件或者動態(tài)庫文件中攜帶的校驗值是否相同,若相同,則將該熱補丁文件或者動態(tài)庫文件導(dǎo)入其中。

然而,當(dāng)目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件時,校驗熱補丁文件或者動態(tài)庫文件,由于當(dāng)目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件時,需要計算自身的crc校驗值,并且計算目標(biāo)程序代碼段的crc校驗值需要較長的時間,從而導(dǎo)致校驗熱補丁文件或者動態(tài)庫文件的時延較長,進而導(dǎo)致用戶的體驗度較低。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種檢驗熱補丁或者動態(tài)庫的方法及裝置,可以降低檢驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度。

第一方面,本發(fā)明實施例提供了一種校驗熱補丁或者動態(tài)庫的方法,包括:

獲取目標(biāo)程序符號文件的代碼段;

根據(jù)所述目標(biāo)程序符號文件的代碼段,計算第一校驗值,所述第一校驗值為所述目標(biāo)程序?qū)?yīng)的校驗值;

加載第一文件,并獲取第二校驗值,所述第一文件為熱補丁文件或者動態(tài) 庫文件,所述第二校驗值為所述熱補丁文件或者所述動態(tài)庫文件的校驗值;

判斷所述第一校驗值與所述第二校驗值是否相同;

若所述第一校驗值與所述第二校驗值相同,則運行所述熱補丁文件或者所述動態(tài)庫文件。

結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,

所述獲取目標(biāo)程序符號文件的代碼段的步驟,之前還包括:

在所述目標(biāo)程序代碼中添加第一全局變量;

根據(jù)所述目標(biāo)程序代碼生成所述目標(biāo)程序的符號文件,所述目標(biāo)程序的符號文件中攜帶有所述第一全局變量;

所述根據(jù)所述目標(biāo)程序的符號文件的代碼段,計算第一校驗值的步驟,具體包括:

根據(jù)所述目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到所述第一校驗值。

第一方面的第一種可能的實現(xiàn)方式,通過將目標(biāo)程序的符號文件的代碼段,進行md5計算,能夠得到第一校驗值,由于md5計算比crc計算的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性。

結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,

所述根據(jù)所述目標(biāo)程序符號文件的代碼段,計算第一校驗值的步驟,之后還包括:

在所述目標(biāo)程序的符號文件中查找所述第一全局變量,并將所述第一校驗值,賦值至所述第一全局變量。

第一方面的第二種可能的實現(xiàn)方式,通過將第一校驗值賦值至第一全局變量,能夠替換之前的校驗值,由于之前的校驗值是人工賦值的,而第一校驗值是電子設(shè)備計算得到的,不需要人工干預(yù),因此第一校驗值的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性。

結(jié)合第一方面、第一方面的第一種可能的實現(xiàn)方式、或者第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為熱補丁文件時,

所述加載第一文件,并獲取第二校驗值的步驟之前,還包括:

獲取所述目標(biāo)程序的符號文件的代碼段;

根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值,并將所述第二校驗值賦值至第二全局變量,所述第二全局變量為所述熱補丁文件的全局變量。

第一方面的第三種可能的實現(xiàn)方式,通過電子設(shè)備在加載熱補丁文件之前,將目標(biāo)文件的代碼段進行md5計算,能夠?qū)⑸傻男r炛蒂x值至熱補丁文件的全局變量中,即不需要人工干預(yù),能夠在編譯階段確定熱補丁文件的md5校驗值,并將該md5校驗值賦值至熱補丁文件中的全局變量,由于將熱補丁的校驗計算不在加載階段中進行,并且不需要人工干預(yù)以及md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗熱補丁文件的時延,進而可以提升校驗熱補丁文件的安全性。

結(jié)合第一方面、第一方面的第一種可能的實現(xiàn)方式、或者第一方面的第二種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為動態(tài)庫文件時,

所述加載第一文件,并獲取第二校驗值的步驟之前,還包括:

在所述動態(tài)庫文件中添加一個目標(biāo)文件,所述目標(biāo)文件中攜帶有第三全局變量;

根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件;

獲取所述目標(biāo)程序的符號文件的代碼段;

根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值,并將所述第二校驗值賦值至第三全局變量。

第一方面的第四種可能的實現(xiàn)方式,通過在加載動態(tài)庫文件之前,將目標(biāo)程序的符號文件的代碼段進行md5計算,并將計算得到的md5校驗值賦值至動態(tài)庫文件的全局變量,并且不需要人工干預(yù),編譯工具自動實現(xiàn)上述步驟,由于不需要在加載動態(tài)庫文件的過程中進行上述步驟,又由于不需要人工干預(yù)并且md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗動態(tài)庫文件的時延,進而可以提升校驗動態(tài)庫文件的安全性。

第二方面,本發(fā)明實施例提供了一種校驗熱補丁或者動態(tài)庫的裝置,包括:

獲取單元,用于獲取目標(biāo)程序符號文件的代碼段;

計算單元,用于根據(jù)所述目標(biāo)程序符號文件的代碼段,計算第一校驗值,所述第一校驗值為所述目標(biāo)程序?qū)?yīng)的校驗值;

加載單元,用于加載第一文件,所述第一文件為熱補丁文件或者動態(tài)庫文 件;

所述獲取單元,還用于獲取第二校驗值,所述第二校驗值為所述熱補丁文件或者所述動態(tài)庫文件的校驗值;

判斷單元,用于判斷所述第一校驗值與所述第二校驗值是否相同;

運行單元,用于當(dāng)所述第一校驗值與所述第二校驗值相同時,運行所述熱補丁文件或者所述動態(tài)庫文件。

結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,

所述裝置還包括:添加單元、生成單元;

所述添加單元,用于在所述目標(biāo)程序代碼中添加第一全局變量;

所述生成單元,用于根據(jù)所述目標(biāo)程序代碼生成所述目標(biāo)程序的符號文件,所述目標(biāo)程序的符號文件中攜帶有所述第一全局變量;

所述計算單元,具體用于根據(jù)所述目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到所述第一校驗值。

結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,

所述裝置還包括:查找單元、賦值單元;

所述查找單元,用于在所述目標(biāo)程序的符號文件中查找所述第一全局變量;

所述賦值單元,用于將所述第一校驗值,賦值至所述第一全局變量。

結(jié)合第二方面、第二方面的第一種可能的實現(xiàn)方式、或者第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為熱補丁文件時,

所述獲取單元,還用于獲取所述目標(biāo)程序的符號文件的代碼段;

所述計算單元,還用于根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值;

所述賦值單元,還用于將所述第二校驗值賦值至第二全局變量,所述第二全局變量為所述熱補丁文件的全局變量。

結(jié)合第二方面、第二方面的第一種可能的實現(xiàn)方式、或者第二方面的第二種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為動態(tài)庫文件時,

所述添加單元,還用于在所述動態(tài)庫文件中添加一個目標(biāo)文件,所述目標(biāo)文件中攜帶有第三全局變量;

所述生成單元,還用于根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件;

所述獲取單元,還用于獲取所述目標(biāo)程序的符號文件的代碼段;

所述計算單元,還用于根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值;

所述賦值單元,還用于將所述第二校驗值賦值至第三全局變量。

第三方面,本發(fā)明實施例提供了一種校驗熱補丁或者動態(tài)庫的裝置,包括:存儲器、處理器以及收發(fā)器,其中,

所述存儲器,用于存儲所述處理器執(zhí)行的程序代碼;

所述處理器,用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:獲取目標(biāo)程序符號文件的代碼段;根據(jù)所述目標(biāo)程序符號文件的代碼段,計算第一校驗值;加載第一文件;判斷所述第一校驗值與所述第二校驗值是否相同;當(dāng)所述第一校驗值與所述第二校驗值相同時,運行所述熱補丁文件或者所述動態(tài)庫文件;

其中,所述第一校驗值為所述目標(biāo)程序?qū)?yīng)的校驗值,所述第一文件為熱補丁文件或者動態(tài)庫文件獲取第二校驗值,所述第二校驗值為所述熱補丁文件或者所述動態(tài)庫文件的校驗值。

結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,

所述處理器,還用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:在所述目標(biāo)程序代碼中添加第一全局變量;根據(jù)所述目標(biāo)程序代碼生成所述目標(biāo)程序的符號文件;

其中,所述目標(biāo)程序的符號文件中攜帶有所述第一全局變量;

所述處理器,具體用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:根據(jù)所述目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到所述第一校驗值。

結(jié)合第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,

所述處理器,還用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:在所述目標(biāo)程序的符號文件中查找所述第一全局變量;將所述第一校驗值,賦值至所述第一全局變量;

結(jié)合第三方面、第三方面的第一種可能的實現(xiàn)方式、或者第三方面的第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為熱補丁文件時,

所述處理器,還用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:獲取所述目標(biāo)程序的符號文件的代碼段;根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值;將所述第二校驗值賦值至第二全局變量,所述第二全局變量為所述熱補丁文件的全局變量。

結(jié)合第三方面、第三方面的第一種可能的實現(xiàn)方式、或者第三方面的第二種可能的實現(xiàn)方式,在第三方面的第四種可能的實現(xiàn)方式中,

當(dāng)所述第一文件為動態(tài)庫文件時,

所述處理器,還用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:在所述動態(tài)庫文件中添加一個目標(biāo)文件;根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件;獲取所述目標(biāo)程序的符號文件的代碼段;根據(jù)所述目標(biāo)程序的符號文件的代碼段進行md5計算,得到所述第二校驗值;將所述第二校驗值賦值至第三全局變量;

其中,所述目標(biāo)文件中攜帶有第三全局變量。

本發(fā)明提供的檢驗熱補丁或者動態(tài)庫的方法及裝置,首先獲取目標(biāo)程序符號文件的代碼段,其次根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值,然后加載第一文件,并獲取第二校驗值,其中,第一文件為熱補丁文件或者動態(tài)庫文件,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值,最后判斷第一校驗值與第二校驗值是否相同,若第一校驗值與第二校驗值相同,則運行熱補丁文件或者動態(tài)庫文件。與目前目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件相比,本發(fā)明通過在加載熱補丁文件或者動態(tài)庫文件之前,計算出目標(biāo)程序?qū)?yīng)的校驗值,即在加載熱補丁文件或者動態(tài)庫文件之前,已經(jīng)計算出目標(biāo)程序?qū)?yīng)的校驗值,在加載直接獲取第一校驗值以及第二校驗值進行校驗,而不需要在運行目標(biāo)程序并且加載熱補丁文件或者動態(tài)庫文件時,計算目標(biāo)程序?qū)?yīng)的校驗值,再進行校驗,從而可以降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度。

附圖說明

為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1為本發(fā)明實施例中校驗熱補丁或者動態(tài)庫的方法流程圖;

圖2為本發(fā)明實施例中另一種校驗熱補丁或者動態(tài)庫的方法流程圖;

圖3為本發(fā)明實施例中又一種校驗熱補丁或者動態(tài)庫的方法流程圖;

圖4為本發(fā)明實施例中又一種校驗熱補丁或者動態(tài)庫的方法流程圖;

圖5為本發(fā)明實施例中又一種校驗熱補丁或者動態(tài)庫的方法流程圖;

圖6為本發(fā)明實施例中又一種校驗熱補丁或者動態(tài)庫的方法流程圖;

圖7為本發(fā)明實施例中一種校驗熱補丁或者動態(tài)庫的裝置示意圖;

圖8為本發(fā)明實施例中另一種校驗熱補丁或者動態(tài)庫的裝置示意圖;

圖9為本發(fā)明實施例中校驗熱補丁或者動態(tài)庫的裝置結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例提供一種校驗熱補丁或者動態(tài)庫的方法,能夠降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度,如圖1所示,所述方法包括:

101、電子設(shè)備獲取目標(biāo)程序符號文件的代碼段。

對于本發(fā)明實施例,該電子設(shè)備為能夠程序的電子設(shè)備。

對于本發(fā)明實施例,電子設(shè)備將多個目標(biāo)程序的源文件通過編譯工具,生成目標(biāo)程序的符號文件,從該生成的目標(biāo)程序的符號文件中獲取目標(biāo)程序的代碼段。

102、電子設(shè)備根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值。

其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值。

對于本發(fā)明實施例,電子設(shè)備對目標(biāo)程序符號文件的代碼段進行消息摘要算法第五版(英文全稱:message-digestalgorithm5,英文縮寫:md5)計算,得到目標(biāo)程序?qū)?yīng)的校驗值,并且在目標(biāo)程序的符號文件中查找全局變量,將生成的目標(biāo)程序?qū)?yīng)的校驗值替換原有的校驗值,并賦值至該全局變量。

103、電子設(shè)備加載第一文件。

其中,第一文件為熱補丁文件或者動態(tài)庫文件。

對于本發(fā)明實施例,熱補丁文件為能夠修復(fù)軟件漏洞的一些代碼,并且為 一種快速、低成本修復(fù)產(chǎn)品軟件版本缺陷的方式。在本發(fā)明實施例中,動態(tài)庫文件為在類unix系統(tǒng)中常用的一種函數(shù)庫形態(tài),應(yīng)用程序可以在初始化階段自動導(dǎo)入或在運行時根據(jù)需要隨時裝載或者卸載。

104、電子設(shè)備獲取獲取第二校驗值。

其中,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值。

對于本發(fā)明實施例,熱補丁文件以及動態(tài)庫文件中均存在校驗值,電子設(shè)備在加載熱補丁文件或者動態(tài)庫文件時,均需要獲取熱補丁文件或者動態(tài)庫文件中的校驗值。

105、電子設(shè)備判斷第一校驗值與第二校驗值是否相同。

對于本發(fā)明實施例,由于存在較多的非法的熱補丁文件或者動態(tài)庫文件,因此電子設(shè)備需要判斷熱補丁文件以及動態(tài)庫文件的合法性。

對于本發(fā)明實施例,電子設(shè)備需要將熱補丁文件對應(yīng)的校驗值或者動態(tài)庫文件對應(yīng)的校驗值與目標(biāo)程序?qū)?yīng)的校驗值進行比較,若相同,則電子設(shè)備確定該熱補丁文件或者動態(tài)庫文件的合法;若不相同,則電子設(shè)備確定該熱補丁文件或者該動態(tài)庫文件非法。

106、若第一校驗值與第二校驗值相同,則電子設(shè)備運行熱補丁文件或者動態(tài)庫文件。

對于本發(fā)明實施例,若電子設(shè)備確定目標(biāo)程序?qū)?yīng)的校驗值與熱補丁文件對應(yīng)的校驗值或者動態(tài)庫文件對應(yīng)的校驗值相同,則該電子設(shè)備運行該熱補丁文件或者動態(tài)庫文件。

本發(fā)明實施例提供的檢驗熱補丁或者動態(tài)庫的方法,首先獲取目標(biāo)程序符號文件的代碼段,其次根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值,然后加載第一文件,并獲取第二校驗值,其中,第一文件為熱補丁文件或者動態(tài)庫文件,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值,最后判斷第一校驗值與第二校驗值是否相同,若第一校驗值與第二校驗值相同,則運行熱補丁文件或者動態(tài)庫文件。與目前目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件相比,本發(fā)明實施例通過在加載熱補丁文件或者動態(tài)庫文件之前,計算出目標(biāo)程序?qū)?yīng)的校驗值,即在加載熱補丁文件或者動態(tài)庫文件之前,已經(jīng)計算出目標(biāo)程序?qū)?yīng)的校驗值,在加載直接獲取第一校驗值以及第二校驗值進行校驗,而不需要在運行目標(biāo)程序并且加載熱補丁文件或者動態(tài)庫文件時,計算目標(biāo)程序?qū)?yīng)的校驗值,再進行校驗,從而 可以降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度。

本發(fā)明實施例的另一種可能的實現(xiàn)方式,在如圖1所示的基礎(chǔ)上,步驟105、電子設(shè)備判斷第一校驗值與第二校驗值是否相同,之后還包括如圖2所示的步驟201。

201、若第一校驗值與第二校驗值不相同,則電子設(shè)備不運行熱補丁文件或者動態(tài)庫文件。

對于本發(fā)明實施例,若第一校驗值與第二校驗值不相同,則電子設(shè)備確定該熱補丁文件或者動態(tài)庫文件為非法文件,并且不運行該熱補丁文件或者動態(tài)庫文件。

本發(fā)明實施例的第一種可能的實現(xiàn)方式,在如圖2所示的基礎(chǔ)上,步驟101、電子設(shè)備獲取目標(biāo)程序符號文件的代碼段,之前還包括如圖3所示的步驟301-302,步驟102、電子設(shè)備根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,具體包括如圖3所示的步驟303。

301、電子設(shè)備在目標(biāo)程序代碼中添加第一全局變量。

對于本發(fā)明實施例,電子設(shè)備在目標(biāo)程序代碼中添加一個全局變量,該全局變量所占用的字節(jié)數(shù)為128位。

302、電子設(shè)備根據(jù)目標(biāo)程序代碼生成目標(biāo)程序的符號文件。

其中,目標(biāo)程序的符號文件中攜帶有第一全局變量。

對于本發(fā)明實施例,電子設(shè)備首先將目標(biāo)程序代碼通過編譯工具,編譯生成所有的目標(biāo)文件,然后將所有的目標(biāo)文件生成目標(biāo)程序的符號文件。

303、電子設(shè)備根據(jù)目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到第一校驗值。

對于本發(fā)明實施例,電子設(shè)備通過編譯工具獲取目標(biāo)程序符號文件的代碼段,并將該代碼段進行md5計算,生成目標(biāo)程序?qū)?yīng)的校驗值。

對于本發(fā)明實施例,電子設(shè)備通過將目標(biāo)程序的符號文件的代碼段,進行md5計算,能夠得到第一校驗值,由于md5計算比crc計算的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性。

本發(fā)明實施例的另一種可能的實現(xiàn)方式,在如圖3所示的基礎(chǔ)上,步驟102、電子設(shè)備根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,之后還包括如圖4所示的步驟401-402。

401、電子設(shè)備在目標(biāo)程序的符號文件中查找第一全局變量。

402、電子設(shè)備將第一校驗值,賦值至第一全局變量。

對于本發(fā)明實施例,由于目標(biāo)程序的符號文件中存在第一全局變量,則電子設(shè)備從目標(biāo)程序的符號文件中查找第一全局變量,并將之前生成的目標(biāo)程序的校驗值賦值至該第一全局變量。

對于本發(fā)明實施例,電子設(shè)備通過將第一校驗值賦值至第一全局變量,能夠替換之前的校驗值,由于之前的校驗值是人工賦值的,而第一校驗值是電子設(shè)備計算得到的,不需要人工干預(yù),因此第一校驗值的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性。

本發(fā)明實施例的另一種可能實現(xiàn)方式,在如圖4所示的基礎(chǔ)上,當(dāng)所述第一文件為熱補丁文件時,步驟103、電子設(shè)備加載第一文件,之前還包括如圖5所示的步驟501-502。

501、電子設(shè)備獲取目標(biāo)程序的符號文件的代碼段。

502、電子設(shè)備根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值,并將第二校驗值賦值至第二全局變量。

其中,第二全局變量為熱補丁文件的全局變量。

對于本發(fā)明實施例,在熱補丁文件的編譯階段,電子設(shè)備需要獲取目標(biāo)程序符號文件的代碼段,并將該代碼段進行md5計算,生成第二校驗值,并將該第二校驗值賦值至該熱補丁文件中第二全局變量的數(shù)據(jù)段。

對于本發(fā)明實施例,通過電子設(shè)備在加載熱補丁文件之前,將目標(biāo)文件的代碼段進行md5計算,能夠?qū)⑸傻男r炛蒂x值至熱補丁文件的全局變量中,即不需要人工干預(yù),能夠在編譯階段確定熱補丁文件的md5校驗值,并將該md5校驗值賦值至熱補丁文件中的全局變量,由于將熱補丁的校驗計算不在加載階段中進行,并且不需要人工干預(yù)以及md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗熱補丁文件的時延,進而可以提升校驗熱補丁文件的安全性。

本發(fā)明實施例的另一種可能的實現(xiàn)方式,在如圖4所示的基礎(chǔ)上,當(dāng)?shù)谝晃募閯討B(tài)庫文件時,步驟103、電子設(shè)備加載第一文件,之前還包括如圖6所示的步驟601-604。

601、電子設(shè)備在動態(tài)庫文件中添加一個目標(biāo)文件。

其中,目標(biāo)文件中攜帶有第三全局變量。

對于本發(fā)明實施例,電子設(shè)備在動態(tài)庫文件中添加一個目標(biāo)文件,其中該 目標(biāo)文件中攜帶第三全局變量。

對于本發(fā)明實施例,在電子設(shè)備在動態(tài)庫文件中添加一個目標(biāo)文件之后,電子設(shè)備將該動態(tài)庫文件以及添加的目標(biāo)文件,通過編譯工具,編譯生成所有的目標(biāo)文件。

602、電子設(shè)備根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件。

對于本發(fā)明實施例,電子設(shè)備鏈接上述所有的目標(biāo)文件,生成動態(tài)庫文件的符號文件。

例如,xxx_symbol.so文件為動態(tài)庫的符號文件。

603、電子設(shè)備獲取目標(biāo)程序的符號文件的代碼段。

604、電子設(shè)備根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值,并將第二校驗值賦值至第三全局變量。

對于本發(fā)明實施例,電子設(shè)備在編譯動態(tài)庫文件時,電子設(shè)備需要獲取目標(biāo)程序符號文件的代碼段,并將該代碼段進行md5計算,生成動態(tài)庫文件對應(yīng)的校驗值,并將該校驗值賦值至該第三全局變量的數(shù)據(jù)段。

對于本發(fā)明實施例,通過在加載動態(tài)庫文件之前,將目標(biāo)程序的符號文件的代碼段進行md5計算,并將計算得到的md5校驗值賦值至動態(tài)庫文件的全局變量,并且不需要人工干預(yù),編譯工具自動實現(xiàn)上述步驟,由于不需要在加載動態(tài)庫文件的過程中進行上述步驟,又由于不需要人工干預(yù)并且md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗動態(tài)庫文件的時延,進而可以提升校驗動態(tài)庫文件的安全性。

對于本發(fā)明實施例,在校驗動態(tài)庫文件之前,電子設(shè)備需要獲取目標(biāo)程序的版本號以及動態(tài)庫的版本號,并且確定目標(biāo)程序的版本號是否高于動態(tài)庫文件的版本號,當(dāng)目標(biāo)程序的版本號低于動態(tài)庫文件的版本號,則電子設(shè)備無法加載該動態(tài)庫文件;若目標(biāo)程序的版本號高于動態(tài)庫文件的版本號,則電子設(shè)備通過上述步驟,校驗該動態(tài)庫文件。

進一步的,本發(fā)明實施例提供了另一種校驗熱補丁或者動態(tài)庫的方法,電子設(shè)備通過將目標(biāo)程序的符號文件的代碼段,進行md5計算,能夠得到第一校驗值,由于md5計算比crc計算的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;電子設(shè)備通過將第一校驗值賦值至第一全局變量,能夠替換之前的校驗值,由于之前的校驗值是人工賦值的,而第一校驗值是電子設(shè)備計算得到的,不需要人工干預(yù),因此第一校驗值的安全性更高, 從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;通過電子設(shè)備在加載熱補丁文件之前,將目標(biāo)文件的代碼段進行md5計算,能夠?qū)⑸傻男r炛蒂x值至熱補丁文件的全局變量中,即不需要人工干預(yù),能夠在編譯階段確定熱補丁文件的md5校驗值,并將該md5校驗值賦值至熱補丁文件中的全局變量,由于將熱補丁的校驗計算不在加載階段中進行,并且不需要人工干預(yù)以及md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗熱補丁文件的時延,進而可以提升校驗熱補丁文件的安全性;通過在加載動態(tài)庫文件之前,將目標(biāo)程序的符號文件的代碼段進行md5計算,并將計算得到的md5校驗值賦值至動態(tài)庫文件的全局變量,并且不需要人工干預(yù),編譯工具自動實現(xiàn)上述步驟,由于不需要在加載動態(tài)庫文件的過程中進行上述步驟,又由于不需要人工干預(yù)并且md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗動態(tài)庫文件的時延,進而可以提升校驗動態(tài)庫文件的安全性。

進一步地,作為對圖1及圖6所示方法的實現(xiàn),本發(fā)明實施例還提供了一種校驗熱補丁或者動態(tài)庫的裝置,用于降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶體驗,如圖7所示,裝置包括:獲取單元71、計算單元72、加載單元73、判斷單元74、運行單元75。

獲取單元71,用于獲取目標(biāo)程序符號文件的代碼段。

計算單元72,用于根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值。

其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值。

加載單元73,用于加載第一文件。

其中,第一文件為熱補丁文件或者動態(tài)庫文件。

獲取單元71,還用于獲取第二校驗值。

其中,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值。

判斷單元74,用于判斷第一校驗值與第二校驗值是否相同。

運行單元75,用于當(dāng)?shù)谝恍r炛蹬c第二校驗值相同時,運行熱補丁文件或者動態(tài)庫文件。

運行單元75,還用于當(dāng)?shù)谝恍r炛蹬c第二校驗值不相同時,不運行熱補丁文件或者動態(tài)庫文件。

進一步地,如圖8所示,裝置還包括:添加單元81、生成單元82。

添加單元81,用于在目標(biāo)程序代碼中添加第一全局變量。

生成單元82,用于根據(jù)目標(biāo)程序代碼生成目標(biāo)程序的符號文件。

其中,目標(biāo)程序的符號文件中攜帶有第一全局變量。

計算單元72,具體用于根據(jù)目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到第一校驗值。

進一步地,如圖8所示,裝置還包括:查找單元83、賦值單元84。

查找單元83,用于在目標(biāo)程序的符號文件中查找第一全局變量。

賦值單元84,用于將第一校驗值,賦值至第一全局變量。

獲取單元71,還用于獲取目標(biāo)程序的符號文件的代碼段。

計算單元72,還用于根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值。

賦值單元84,還用于將第二校驗值賦值至第二全局變量。

其中,第二全局變量為熱補丁文件的全局變量。

添加單元81,還用于在動態(tài)庫文件中添加一個目標(biāo)文件。

其中目標(biāo)文件中攜帶有第三全局變量;

生成單元82,還用于根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件。

獲取單元71,還用于獲取目標(biāo)程序的符號文件的代碼段。

計算單元72,還用于根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值。

賦值單元84,還用于將第二校驗值賦值至第三全局變量。

本發(fā)明實施例提供的檢驗熱補丁或者動態(tài)庫的裝置,首先獲取目標(biāo)程序符號文件的代碼段,其次根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值,然后加載第一文件,并獲取第二校驗值,其中,第一文件為熱補丁文件或者動態(tài)庫文件,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值,最后判斷第一校驗值與第二校驗值是否相同,若第一校驗值與第二校驗值相同,則運行熱補丁文件或者動態(tài)庫文件。與目前目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件相比,本發(fā)明實施例通過在加載熱補丁文件或者動態(tài)庫文件之前,計算出目標(biāo)程序?qū)?yīng)的校驗值,即在加載熱補丁文件或者動態(tài)庫文件之前,已經(jīng)計算出目標(biāo)程序?qū)?yīng)的校驗值,在加載直接獲取第一校驗值以及第二校驗值進行校驗,而不需要在運行目標(biāo)程序并且加載熱補丁文件或者動態(tài)庫文件時,計算目標(biāo)程序?qū)?yīng)的校驗值,再進行校驗,從而可以降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度。

進一步的,本發(fā)明實施例提供了另一種校驗熱補丁或者動態(tài)庫的裝置,電 子設(shè)備通過將目標(biāo)程序的符號文件的代碼段,進行md5計算,能夠得到第一校驗值,由于md5計算比crc計算的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;電子設(shè)備通過將第一校驗值賦值至第一全局變量,能夠替換之前的校驗值,由于之前的校驗值是人工賦值的,而第一校驗值是電子設(shè)備計算得到的,不需要人工干預(yù),因此第一校驗值的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;通過電子設(shè)備在加載熱補丁文件之前,將目標(biāo)文件的代碼段進行md5計算,能夠?qū)⑸傻男r炛蒂x值至熱補丁文件的全局變量中,即不需要人工干預(yù),能夠在編譯階段確定熱補丁文件的md5校驗值,并將該md5校驗值賦值至熱補丁文件中的全局變量,由于將熱補丁的校驗計算不在加載階段中進行,并且不需要人工干預(yù)以及md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗熱補丁文件的時延,進而可以提升校驗熱補丁文件的安全性;通過在加載動態(tài)庫文件之前,將目標(biāo)程序的符號文件的代碼段進行md5計算,并將計算得到的md5校驗值賦值至動態(tài)庫文件的全局變量,并且不需要人工干預(yù),編譯工具自動實現(xiàn)上述步驟,由于不需要在加載動態(tài)庫文件的過程中進行上述步驟,又由于不需要人工干預(yù)并且md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗動態(tài)庫文件的時延,進而可以提升校驗動態(tài)庫文件的安全性。

需要說明的是,本發(fā)明實施例中提供的校驗熱補丁或者動態(tài)庫中各設(shè)備所對應(yīng)的其他相應(yīng)描述,可以參考圖1、圖2、圖3、圖4、圖5或圖6中的對應(yīng)描述,在此不再贅述。

再進一步地,本發(fā)明實施例還提供了一種校驗熱補丁或者動態(tài)庫的裝置,如圖9所示,該裝置包括:存儲器91、處理器92及收發(fā)器93,所述收發(fā)器93、存儲器91分別與處理器92相連接,圖9描述了本發(fā)明另一個實施例提供的電子設(shè)備設(shè)備的結(jié)構(gòu),用于執(zhí)行前述圖1至圖6所述實施例的電子設(shè)備實施的授權(quán)方法。

所述存儲器91,用于存儲所述處理器執(zhí)行的程序代碼。

所述處理器92,用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:獲取目標(biāo)程序符號文件的代碼段;根據(jù)所述目標(biāo)程序符號文件的代碼段,計算第一校驗值;加載第一文件;判斷所述第一校驗值與所述第二校驗值是否相同;當(dāng)所述第一校驗值與所述第二校驗值相同時,運行所述熱補丁文件或者所述動態(tài)庫文件。

其中,所述第一校驗值為所述目標(biāo)程序?qū)?yīng)的校驗值,所述第一文件為熱補丁文件或者動態(tài)庫文件獲取第二校驗值,所述第二校驗值為所述熱補丁文件或者所述動態(tài)庫文件的校驗值。

所述處理器92,還用于調(diào)用所述存儲器中存儲的程序代碼,并按照所述程序代碼執(zhí)行操作:當(dāng)所述第一校驗值與所述第二校驗值不相同時,不運行所述熱補丁文件或者所述動態(tài)庫文件。

處理器92,還用于調(diào)用存儲器中存儲的程序代碼,并按照程序代碼執(zhí)行操作:在目標(biāo)程序代碼中添加第一全局變量;根據(jù)目標(biāo)程序代碼生成目標(biāo)程序的符號文件;

其中,目標(biāo)程序的符號文件中攜帶有第一全局變量。

處理器92,具體用于調(diào)用存儲器中存儲的程序代碼,并按照程序代碼執(zhí)行操作:根據(jù)目標(biāo)程序的符號文件的代碼段,進行消息摘要算法第五版md5計算,得到第一校驗值。

處理器92,還用于調(diào)用存儲器中存儲的程序代碼,并按照程序代碼執(zhí)行操作:在目標(biāo)程序的符號文件中查找第一全局變量;將第一校驗值,賦值至第一全局變量。

當(dāng)?shù)谝晃募闊嵫a丁文件時,

處理器92,還用于調(diào)用存儲器中存儲的程序代碼,并按照程序代碼執(zhí)行操作:獲取目標(biāo)程序的符號文件的代碼段;根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值;將第二校驗值賦值至第二全局變量,第二全局變量為熱補丁文件的全局變量。

處理器92,還用于調(diào)用存儲器中存儲的程序代碼,并按照程序代碼執(zhí)行操作:在動態(tài)庫文件中添加一個目標(biāo)文件;根據(jù)所有的目標(biāo)文件,生成動態(tài)庫的符號文件;獲取目標(biāo)程序的符號文件的代碼段;根據(jù)目標(biāo)程序的符號文件的代碼段進行md5計算,得到第二校驗值;將第二校驗值賦值至第三全局變量。

其中,目標(biāo)文件中攜帶有第三全局變量。

本發(fā)明實施例提供的檢驗熱補丁或者動態(tài)庫的裝置,首先獲取目標(biāo)程序符號文件的代碼段,其次根據(jù)目標(biāo)程序符號文件的代碼段,計算第一校驗值,其中,第一校驗值為目標(biāo)程序?qū)?yīng)的校驗值,然后加載第一文件,并獲取第二校驗值,其中,第一文件為熱補丁文件或者動態(tài)庫文件,第二校驗值為熱補丁文件或者動態(tài)庫文件的校驗值,最后判斷第一校驗值與第二校驗值是否相同,若 第一校驗值與第二校驗值相同,則運行熱補丁文件或者動態(tài)庫文件。與目前目標(biāo)程序在加載熱補丁文件或者動態(tài)庫文件相比,本發(fā)明實施例通過在加載熱補丁文件或者動態(tài)庫文件之前,計算出目標(biāo)程序?qū)?yīng)的校驗值,即在加載熱補丁文件或者動態(tài)庫文件之前,已經(jīng)計算出目標(biāo)程序?qū)?yīng)的校驗值,在加載直接獲取第一校驗值以及第二校驗值進行校驗,而不需要在運行目標(biāo)程序并且加載熱補丁文件或者動態(tài)庫文件時,計算目標(biāo)程序?qū)?yīng)的校驗值,再進行校驗,從而可以降低校驗熱補丁文件或者動態(tài)庫文件的時延,進而可以提升用戶的體驗度。

進一步的,本發(fā)明實施例提供了另一種校驗熱補丁或者動態(tài)庫的裝置,電子設(shè)備通過將目標(biāo)程序的符號文件的代碼段,進行md5計算,能夠得到第一校驗值,由于md5計算比crc計算的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;電子設(shè)備通過將第一校驗值賦值至第一全局變量,能夠替換之前的校驗值,由于之前的校驗值是人工賦值的,而第一校驗值是電子設(shè)備計算得到的,不需要人工干預(yù),因此第一校驗值的安全性更高,從而可以進一步地提高校驗熱補丁文件或者動態(tài)庫文件的安全性;通過電子設(shè)備在加載熱補丁文件之前,將目標(biāo)文件的代碼段進行md5計算,能夠?qū)⑸傻男r炛蒂x值至熱補丁文件的全局變量中,即不需要人工干預(yù),能夠在編譯階段確定熱補丁文件的md5校驗值,并將該md5校驗值賦值至熱補丁文件中的全局變量,由于將熱補丁的校驗計算不在加載階段中進行,并且不需要人工干預(yù)以及md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗熱補丁文件的時延,進而可以提升校驗熱補丁文件的安全性;通過在加載動態(tài)庫文件之前,將目標(biāo)程序的符號文件的代碼段進行md5計算,并將計算得到的md5校驗值賦值至動態(tài)庫文件的全局變量,并且不需要人工干預(yù),編譯工具自動實現(xiàn)上述步驟,由于不需要在加載動態(tài)庫文件的過程中進行上述步驟,又由于不需要人工干預(yù)并且md5計算的安全性高于crc計算的安全性,從而可以進一步地降低校驗動態(tài)庫文件的時延,進而可以提升校驗動態(tài)庫文件的安全性。

需要說明的是,本發(fā)明實施例中提供的校驗熱補丁或者動態(tài)庫中各設(shè)備所對應(yīng)的其他相應(yīng)描述,可以參考圖1、圖2、圖3、圖4、圖5或圖6中的對應(yīng)描述,在此不再贅述。

本發(fā)明實施例提供的校驗熱補丁或者動態(tài)庫的裝置可以實現(xiàn)上述提供的方法實施例,具體功能實現(xiàn)請參見方法實施例中的說明,在此不再贅述。本發(fā)明實施例提供的校驗熱補丁或者動態(tài)庫的方法及裝置可以適用于在加載熱補丁文 件或者動態(tài)庫文件之前,校驗熱補丁文件或者動態(tài)庫文件的安全性,但不僅限于此。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1