一種軟件保護(hù)方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種軟件保護(hù)方法、裝置及系統(tǒng),控制終端可生成應(yīng)用程序的數(shù)據(jù)文件,應(yīng)用程序的數(shù)據(jù)文件包括:應(yīng)用程序的解殼程序、應(yīng)用程序的加密核心代碼和應(yīng)用程序的加密核心代碼的屬性信息,移動終端可獲取到應(yīng)用程序的數(shù)據(jù)文件,根據(jù)應(yīng)用程序的解殼程序和應(yīng)用程序的加密核心代碼屬性信息從應(yīng)用程序的數(shù)據(jù)文件讀取應(yīng)用程序的加密核心代碼,并對應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,從而根據(jù)應(yīng)用程序的源代碼運(yùn)行應(yīng)用程序。本發(fā)明實(shí)施例中,應(yīng)用程序的數(shù)據(jù)文件包括應(yīng)用程序的加密核心代碼和應(yīng)用程序的解殼程序,提高了應(yīng)用程序的安全性和防破解性。
【專利說明】一種軟件保護(hù)方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種軟件保護(hù)方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的發(fā)展,可通過移動終端操作系統(tǒng)(例如安卓Android操作系統(tǒng)等)支持的應(yīng)用軟件實(shí)現(xiàn)越來越多的功能。現(xiàn)有技術(shù)中,可通過代碼混淆或更改應(yīng)用程序字符串信息等方式防止應(yīng)用程序代碼的非法復(fù)制和盜版,但是,現(xiàn)有技術(shù)中的應(yīng)用程序代碼長期存儲于操作系統(tǒng)的安裝文件和移動終端中,例如存儲于移動終端內(nèi)置的內(nèi)存或移動終端外置的SD (Secure Digital Memory Card,安全數(shù)碼卡)中,破解者可輕易獲得,對于代碼混淆和更改應(yīng)用程序字符串信息的應(yīng)用程序,破解者仍可從站點(diǎn)下載到該應(yīng)用程序,可直接對該應(yīng)用程序進(jìn)行靜態(tài)的反匯編和反編譯得到破解程序,現(xiàn)有技術(shù)中的軟件保護(hù)方案安全性不高,防破解性低。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種軟件保護(hù)方法、裝置及系統(tǒng),用于解決現(xiàn)有技術(shù)中破解者可輕易獲得應(yīng)用程序直接反匯編和反編譯進(jìn)行破解導(dǎo)致安全性不高,防破解性低的技術(shù)問題。
[0004]本發(fā)明實(shí)施例第一方面提供了一種軟件保護(hù)方法,包括:
[0005]獲取應(yīng)用程序的數(shù)據(jù)文件,所述應(yīng)用程序的數(shù)據(jù)文件包括:所述應(yīng)用程序的解殼程序、所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息;
[0006]根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼;
[0007]對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序。
[0008]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述應(yīng)用程序的數(shù)據(jù)文件為:控制終端將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中生成的數(shù)據(jù)文件。
[0009]結(jié)合第一方面的第一種可能實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度;
[0010]所述根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼包括:
[0011]從所述應(yīng)用程序的數(shù)據(jù)文件中讀取所述應(yīng)用程序的核心代碼的長度;
[0012]根據(jù)所述應(yīng)用程序的核心代碼的長度從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的核心代碼。
[0013]在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序,包括:
[0014]將所述應(yīng)用程序的源代碼存儲到預(yù)設(shè)內(nèi)存中,所述預(yù)設(shè)內(nèi)存包括:動態(tài)分配的內(nèi)存地址;
[0015]通過所述預(yù)設(shè)接口從所述預(yù)設(shè)內(nèi)存中加載所述應(yīng)用程序的源代碼,所述預(yù)設(shè)接口為在操作系統(tǒng)的虛擬機(jī)中添加的接口。
[0016]本發(fā)明實(shí)施例第二方面提供了一種軟件保護(hù)方法,包括:
[0017]獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息;
[0018]將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中,并生成所述應(yīng)用程序的數(shù)據(jù)文件;
[0019]將所述生成的應(yīng)用程序的數(shù)據(jù)文件存儲到預(yù)設(shè)存儲區(qū)中,以使移動終端從所述預(yù)設(shè)存儲區(qū)獲取所述應(yīng)用程序的數(shù)據(jù)文件,并根據(jù)所述應(yīng)用程序的數(shù)據(jù)文件運(yùn)行所述應(yīng)用程序。
[0020]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息包括:
[0021]獲取所述應(yīng)用程序的源代碼,對所述應(yīng)用程序的源代碼進(jìn)行加密,得到所述應(yīng)用程序的加密核心代碼;
[0022]計(jì)算所述應(yīng)用程序的加密核心代碼的長度,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度。
[0023]在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0024]在操作系統(tǒng)的虛擬機(jī)中添加預(yù)設(shè)接口,以使所述移動終端通過所述預(yù)設(shè)接口加載所述應(yīng)用程序的數(shù)據(jù)文件。
[0025]本發(fā)明實(shí)施例第三方面提供了一種軟件保護(hù)裝置,包括:
[0026]獲取模塊,用于獲取應(yīng)用程序的數(shù)據(jù)文件,所述應(yīng)用程序的數(shù)據(jù)文件包括:所述應(yīng)用程序的解殼程序、所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性
信息;
[0027]讀取模塊,用于根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼;
[0028]執(zhí)行模塊,用于對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序。
[0029]在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述應(yīng)用程序的數(shù)據(jù)文件為:控制終端將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中生成的數(shù)據(jù)文件。
[0030]結(jié)合第三方面的第一種可能實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度;
[0031]所述讀取模塊包括:
[0032]第一讀取單元,用于從所述應(yīng)用程序的數(shù)據(jù)文件中讀取所述應(yīng)用程序的核心代碼的長度;
[0033]第二讀取單元,用于根據(jù)所述應(yīng)用程序的核心代碼的長度從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的核心代碼。[0034]在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述執(zhí)行模塊包括:
[0035]存儲單元,用于將所述應(yīng)用程序的源代碼存儲到預(yù)設(shè)內(nèi)存中,所述預(yù)設(shè)內(nèi)存包括:動態(tài)分配的內(nèi)存地址;
[0036]加載單元,用于通過所述預(yù)設(shè)接口從所述預(yù)設(shè)內(nèi)存中加載所述應(yīng)用程序的源代碼,所述預(yù)設(shè)接口為在操作系統(tǒng)的虛擬機(jī)中添加的接口。
[0037]本發(fā)明實(shí)施例第四方面提供了一種軟件保護(hù)裝置,包括:
[0038]獲取模塊,用于獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的
屬性信息;
[0039]生成模塊,用于將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中,并生成所述應(yīng)用程序的數(shù)據(jù)文件;
[0040]存儲模塊,用于將所述生成的應(yīng)用程序的數(shù)據(jù)文件存儲到預(yù)設(shè)存儲區(qū)中,以使移動終端從所述預(yù)設(shè)存儲區(qū)獲取所述應(yīng)用程序的數(shù)據(jù)文件,并根據(jù)所述應(yīng)用程序的數(shù)據(jù)文件運(yùn)行所述應(yīng)用程序。
[0041]在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述獲取模塊包括:
[0042]獲取單元,用于獲取所述應(yīng)用程序的源代碼,對所述應(yīng)用程序的源代碼進(jìn)行加密,得到所述應(yīng)用程序的加密核心代碼;
[0043]計(jì)算單元,用于計(jì)算所述應(yīng)用程序的加密核心代碼的長度,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度。
[0044]在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0045]添加模塊,用于在操作系統(tǒng)的虛擬機(jī)中添加預(yù)設(shè)接口,以使所述移動終端通過所述預(yù)設(shè)接口加載所述應(yīng)用程序的數(shù)據(jù)文件。
[0046]本發(fā)明實(shí)施例第五方面提供了一種軟件保護(hù)系統(tǒng),包括:包括:移動終端和控制終端;所述移動終端,如第三方面、第三方面第一種可能?第三種可能方式中任一所述的裝置;所述控制終端如第四方面、第四方面第一種可能?第二種可能方式中任一所述的裝置。
[0047]實(shí)施本發(fā)明實(shí)施例,控制終端可生成應(yīng)用程序的數(shù)據(jù)文件,應(yīng)用程序的數(shù)據(jù)文件包括:應(yīng)用程序的解殼程序、應(yīng)用程序的加密核心代碼和應(yīng)用程序的加密核心代碼的屬性信息,移動終端可獲取到該應(yīng)用程序的數(shù)據(jù)文件,根據(jù)應(yīng)用程序的解殼程序和應(yīng)用程序的加密核心代碼屬性信息從應(yīng)用程序的數(shù)據(jù)文件讀取應(yīng)用程序的加密核心代碼,并對應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,從而根據(jù)應(yīng)用程序的源代碼運(yùn)行應(yīng)用程序。本發(fā)明實(shí)施例中,應(yīng)用程序的數(shù)據(jù)文件包括應(yīng)用程序的加密核心代碼和應(yīng)用程序的解殼程序,破解者無法直接對該應(yīng)用程序的數(shù)據(jù)文件進(jìn)行反匯編從而得到該應(yīng)用程序的核心代碼,要獲得該應(yīng)用程序的源代碼,需根據(jù)應(yīng)用程序的解殼程序和應(yīng)用程序的加密核心代碼屬性信息從應(yīng)用程序的數(shù)據(jù)文件讀取應(yīng)用程序的加密核心代碼,并對應(yīng)用程序的加密核心代碼進(jìn)行解密,無法直接進(jìn)行反匯編和反編譯,增加了破解者獲得應(yīng)用程序的源代碼的難度,提高了應(yīng)用程序的安全性和防破解性。
【專利附圖】
【附圖說明】
[0048]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0049]圖1為本發(fā)明實(shí)施例提供的一種軟件保護(hù)方法的示意圖;
[0050]圖2為本發(fā)明另一實(shí)施例提供的一種軟件保護(hù)方法的示意圖;
[0051]圖3為本發(fā)明實(shí)施例提供的一種軟件保護(hù)裝置的結(jié)構(gòu)示意圖;
[0052]圖4為本發(fā)明實(shí)施例提供的一種移動終端的結(jié)構(gòu)示意圖;
[0053]圖5為本發(fā)明另一實(shí)施例提供的一種軟件保護(hù)裝置的結(jié)構(gòu)示意圖;
[0054]圖6為本發(fā)明實(shí)施例提供的一種控制終端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0055]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0056]本發(fā)明實(shí)施例提供一種軟件保護(hù)方法、裝置及系統(tǒng)。本發(fā)明實(shí)施中的一種軟件保護(hù)裝置可以包括:如智能手機(jī)、平板電腦等移動終端,本發(fā)明實(shí)施例中的軟件保護(hù)裝置可以包括:電腦、服務(wù)器等控制終端或控制終端中的客戶端模塊,例如,應(yīng)用管理客戶端等。
[0057]本發(fā)明實(shí)施例提供一種軟件保護(hù)方案可以應(yīng)用于例如安卓Android操作系統(tǒng)等移動終端操作系統(tǒng)中,具體不受本發(fā)明實(shí)施例的限制,本發(fā)明實(shí)施例中的應(yīng)用程序包括:移動終端操作系統(tǒng)中自帶的應(yīng)用程序,或從其他站點(diǎn)等獲取到的可在安裝并運(yùn)行在移動終端操作系統(tǒng)中的應(yīng)用程序。
[0058]本發(fā)明實(shí)施例中,應(yīng)用程序的數(shù)據(jù)文件包括應(yīng)用程序的加密核心代碼和應(yīng)用程序的解殼程序,破解者無法直接對該應(yīng)用程序的數(shù)據(jù)文件進(jìn)行反匯編從而得到該應(yīng)用程序的核心代碼,要獲得該應(yīng)用程序的源代碼,需根據(jù)應(yīng)用程序的解殼程序和應(yīng)用程序的加密核心代碼屬性信息從應(yīng)用程序的數(shù)據(jù)文件讀取應(yīng)用程序的加密核心代碼,并對應(yīng)用程序的加密核心代碼進(jìn)行解密,無法直接進(jìn)行反匯編和反編譯,增加了破解者獲得應(yīng)用程序的源代碼的難度,提高了應(yīng)用程序的安全性和防破解性。下面通過具體實(shí)施例進(jìn)行說明。
[0059]圖1為本發(fā)明實(shí)施例提供的一種軟件保護(hù)方法的流程圖,本發(fā)明實(shí)施例可以實(shí)現(xiàn)在移動終端中,如圖所示本實(shí)施例中的流程包括步驟SlOl?S103。
[0060]S101,獲取應(yīng)用程序的數(shù)據(jù)文件,應(yīng)用程序的數(shù)據(jù)文件包括:應(yīng)用程序的解殼程序、應(yīng)用程序的加密核心代碼和應(yīng)用程序的加密核心代碼的屬性信息。
[0061]作為一種可選的實(shí)施方式,移動終端獲取應(yīng)用程序的數(shù)據(jù)文件,其中,應(yīng)用程序的數(shù)據(jù)文件可以為:控制終端將應(yīng)用程序的加密核心代碼和應(yīng)用程序的加密核心代碼的屬性信息添加到應(yīng)用程序的解殼程序中生成的數(shù)據(jù)文件,控制終端將生成的數(shù)據(jù)文件存儲于預(yù)設(shè)存儲區(qū)中,或者系統(tǒng)管理者可將該應(yīng)用程序上傳到網(wǎng)站站點(diǎn)或其他存儲空間供用戶下載,移動終端可從該預(yù)設(shè)存儲區(qū)或如站點(diǎn)等其他存儲空間下載應(yīng)用程序。
[0062]具體的,應(yīng)用程序的數(shù)據(jù)文件包括但不局限于:應(yīng)用程序的解殼程序、應(yīng)用程序的加密核心代碼和應(yīng)用程序的加密核心代碼的屬性信息,還包括應(yīng)用程序的數(shù)據(jù)文件的屬性信息等。如下表所示:
【權(quán)利要求】
1.一種軟件保護(hù)方法,其特征在于,所述方法包括: 獲取應(yīng)用程序的數(shù)據(jù)文件,所述應(yīng)用程序的數(shù)據(jù)文件包括:所述應(yīng)用程序的解殼程序、所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息; 根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼; 對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序。
2.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序的數(shù)據(jù)文件為:控制終端將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中生成的數(shù)據(jù)文件。
3.如權(quán)利要求2所述的方法,其特征在于,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度; 所述根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼包括: 從所述應(yīng)用程序的數(shù)據(jù)文件中讀取所述應(yīng)用程序的核心代碼的長度; 根據(jù)所述應(yīng)用程序的核心代碼的長度從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的核心代碼。
4.如權(quán)利要求1所述的方法,其特征在于,所述對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序,包括: 將所述應(yīng)用程序的源代碼存儲到預(yù)設(shè)內(nèi)存中,所述預(yù)設(shè)內(nèi)存包括:動態(tài)分配的內(nèi)存地址; 通過所述預(yù)設(shè)接口從所述預(yù)設(shè)內(nèi)存中加載所述應(yīng)用程序的源代碼,所述預(yù)設(shè)接口為在操作系統(tǒng)的虛擬機(jī)中添加的接口。
5.一種軟件保護(hù)方法,其特征在于,所述方法包括: 獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息; 將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中,并生成所述應(yīng)用程序的數(shù)據(jù)文件; 將所述生成的應(yīng)用程序的數(shù)據(jù)文件存儲到預(yù)設(shè)存儲區(qū)中,以使移動終端從所述預(yù)設(shè)存儲區(qū)獲取所述應(yīng)用程序的數(shù)據(jù)文件,并根據(jù)所述應(yīng)用程序的數(shù)據(jù)文件運(yùn)行所述應(yīng)用程序。
6.如權(quán)利要求5所述的方法,其特征在于,所述獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息包括: 獲取所述應(yīng)用程序的源代碼,對所述應(yīng)用程序的源代碼進(jìn)行加密,得到所述應(yīng)用程序的加密核心代碼; 計(jì)算所述應(yīng)用程序的加密核心代碼的長度,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度。
7.如權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 在操作系統(tǒng)的虛擬機(jī)中添加預(yù)設(shè)接口,以使所述移動終端通過所述預(yù)設(shè)接口加載所述應(yīng)用程序的數(shù)據(jù)文件。
8.一種軟件保護(hù)裝置,其特征在于,所述裝置包括: 獲取模塊,用于獲取應(yīng)用程序的數(shù)據(jù)文件,所述應(yīng)用程序的數(shù)據(jù)文件包括:所述應(yīng)用程序的解殼程序、所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息; 讀取模塊,用于根據(jù)所述應(yīng)用程序的解殼程序和所述應(yīng)用程序的加密核心代碼屬性信息從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的加密核心代碼; 執(zhí)行模塊,用于對所述讀取到的應(yīng)用程序的加密核心代碼進(jìn)行解密,得到應(yīng)用程序的源代碼,并根據(jù)所述應(yīng)用程序的源代碼運(yùn)行所述應(yīng)用程序。
9.如權(quán)利要求8所述的裝置,其特征在于,所述應(yīng)用程序的數(shù)據(jù)文件為:控制終端將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中生成的數(shù)據(jù)文件。
10.如權(quán)利要求9所述的裝置,其特征在于,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度; 所述讀取模塊包括: 第一讀取單元,用于從所述應(yīng)用程序的數(shù)據(jù)文件中讀取所述應(yīng)用程序的核心代碼的長度; 第二讀取單元,用于根據(jù)所述應(yīng)用程序的核心代碼的長度從所述應(yīng)用程序的數(shù)據(jù)文件讀取所述應(yīng)用程序的核心代碼。
11.如權(quán)利要求8所述的裝置,其特征在于,所述執(zhí)行模塊包括:` 存儲單元,用于將所述應(yīng)用程序的源代碼存儲到預(yù)設(shè)內(nèi)存中,所述預(yù)設(shè)內(nèi)存包括:動態(tài)分配的內(nèi)存地址; 加載單元,用于通過所述預(yù)設(shè)接口從所述預(yù)設(shè)內(nèi)存中加載所述應(yīng)用程序的源代碼,所述預(yù)設(shè)接口為在操作系統(tǒng)的虛擬機(jī)中添加的接口。
12.—種軟件保護(hù)裝置,其特征在于,所述裝置包括: 獲取模塊,用于獲取應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息; 生成模塊,用于將所述應(yīng)用程序的加密核心代碼和所述應(yīng)用程序的加密核心代碼的屬性信息添加到所述應(yīng)用程序的解殼程序中,并生成所述應(yīng)用程序的數(shù)據(jù)文件; 存儲模塊,用于將所述生成的應(yīng)用程序的數(shù)據(jù)文件存儲到預(yù)設(shè)存儲區(qū)中,以使移動終端從所述預(yù)設(shè)存儲區(qū)獲取所述應(yīng)用程序的數(shù)據(jù)文件,并根據(jù)所述應(yīng)用程序的數(shù)據(jù)文件運(yùn)行所述應(yīng)用程序。
13.如權(quán)利要求12所述的裝置,其特征在于,所述獲取模塊包括: 獲取單元,用于獲取所述應(yīng)用程序的源代碼,對所述應(yīng)用程序的源代碼進(jìn)行加密,得到所述應(yīng)用程序的加密核心代碼; 計(jì)算單元,用于計(jì)算所述應(yīng)用程序的加密核心代碼的長度,所述應(yīng)用程序的核心代碼的屬性信息包括:所述應(yīng)用程序的加密核心代碼的長度。
14.如權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 添加模塊,用于在操作系統(tǒng)的虛擬機(jī)中添加預(yù)設(shè)接口,以使所述移動終端通過所述預(yù)設(shè)接口加載所述應(yīng)用程序的數(shù)據(jù)文件。
15.—種軟件保護(hù)系統(tǒng),其特征在于,包括:移動終端和控制終端;所述移動終端,如權(quán)利要求8~11任一所述的裝置;所述控制終端如權(quán)利要求12~14任一所述的裝置。
【文檔編號】G06F21/12GK103761457SQ201310740020
【公開日】2014年4月30日 申請日期:2013年12月27日 優(yōu)先權(quán)日:2013年12月27日
【發(fā)明者】王洋, 蔣忠林 申請人:華為技術(shù)有限公司