專利名稱:一種基于android平臺應用安裝控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及一種基于android平臺應用安裝控制方法及系 統(tǒng)。
背景技術(shù):
隨著智能移動終端的出現(xiàn),隨之出現(xiàn)了很多移動終端系統(tǒng),當前的androicK安 卓)系統(tǒng)是一種廣泛應用的智能移動終端系統(tǒng),其中APK(Android application package) 應用安裝文件是一種標準android應用安裝程序。但是android系統(tǒng)的APK應用安裝文件很容易就能被反編譯和獲取源代碼,這嚴 重地侵犯了應用開發(fā)者的權(quán)利;并且當前并沒有相關(guān)技術(shù)方案對APK安裝文件進行加密和 保護,通用的反編譯工具就能很好的對AH(安裝文件進行反編譯,獲取源代碼進行篡改,對 APK安裝文件的安全構(gòu)成了很大的威脅,導致應用開發(fā)者的應用APK安裝文件被黑客破解 利用,偽造出新的含病毒的AH(包,影響了用戶使用移動終端的安全性。綜上所述,當前需要一種android系統(tǒng)中APK安裝文件的控制技術(shù)方案來解決上 述問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于android平臺應用安裝控制方法及 系統(tǒng),解決了保護android系統(tǒng)中APK安裝文件不被篡改和破解的問題。為了解決上述問題,本發(fā)明提供了一種基于android平臺應用安裝控制方法,包 括對已生成后的APK安裝文件進行加密操作;將加密后的APK安裝文件的應用程序進行發(fā)布;獲取該加密后的APK安裝文件的應用程序后,對其進行解密操作并安裝在系統(tǒng) 中。進一步地,上述方法還可包括,所述對已生成后的AH(安裝文件進行加密操作的 步驟,包括提取已生成后的APK安裝文件中配置文件和字節(jié)碼文件;對提取的該APK安裝文件中配置文件和字節(jié)碼文件進行加密;將加密后的配置文件和字節(jié)碼文件,與該APK安裝文件中其他文件通過加殼的方 式進行打包,生成一加密后的APK安裝文件的應用程序。進一步地,上述方法還可包括,所述將該加密后的APK安裝文件的應用程序進行 解密操作并安裝在系統(tǒng)中的步驟,包括解析所述加密后的AH(安裝文件的應用程序得到其加殼方式,根據(jù)加殼方式進行 相應的解殼操作,得到加密后的配置文件、字節(jié)碼文件和APK安裝文件中其他文件;解析加密后的配置文件和字節(jié)碼文件得到其加密方式,根據(jù)其加密方式進行相應的解密操作,將得到的AH(安裝文件中各個文件存儲在存儲器的不同位置,將存儲在存儲 器不同位置的各個文件,通過存儲器地址鏈接直接安裝在系統(tǒng)中。進一步地,上述方法還可包括,所述將加密后的AH(安裝文件的應用程序進行發(fā) 布的步驟,包括所述生成一加密后的AH(安裝文件的應用程序后,根據(jù)該應用程序的加殼方式, 以及其配置文件和字節(jié)碼文件的加密方式,生成對應于該應用程序的解密程序,將加密后 的APK安裝文件的應用程序和解密程序進行打包并發(fā)布。進一步地,上述方法還可包括,所述對提取的該AH(安裝文件中配置文件和字節(jié) 碼文件進行加密的方式包括插入注冊碼鑒權(quán)、加殼保護、DES、3DES、3DES+MAC或自定義加 密方式;所述加殼方式包括保護型殼、壓縮型殼或加密型殼的方式。本發(fā)明還提供了一種基于android平臺應用安裝控制系統(tǒng),包括加密單元,用于對已生成后的APK安裝文件進行加密操作;發(fā)布單元,用于將加密后的APK安裝文件的應用程序進行發(fā)布;及解密安裝單元,用于獲取該加密后的AH(安裝文件的應用程序后,對其進行解密 操作并安裝在系統(tǒng)中。進一步地,上述系統(tǒng)還可包括,所述加密單元包括APK提取文件模塊和APK加密模 塊,其中,所述APK提取文件模塊,用于提取APK安裝文件中配置文件和字節(jié)碼文件;所述APK加密模塊,用于對提取的該配置文件和字節(jié)碼文件進行加密后,與該APK 安裝文件中其他文件通過加殼的方式進行打包,生成一加密后的APK安裝文件的應用程序。進一步地,上述系統(tǒng)還可包括,所述APK加密模塊,還用于生成一加密后的APK安 裝文件的應用程序后,根據(jù)該應用程序的加殼方式,以及其配置文件和字節(jié)碼文件的加密 方式,生成對應于該應用程序的解密程序,將加密后的APK安裝文件的應用程序和解密程 序進行打包。進一步地,上述系統(tǒng)還可包括,所述解密安裝單元,還用于解析加密后的APK安裝 文件的應用程序得到其加殼方式,根據(jù)加殼方式進行相應的解殼操作,得到加密后的配置 文件、字節(jié)碼文件和APK安裝文件中其他文件;解析加密后的配置文件和字節(jié)碼文件得到 其加密方式,根據(jù)其加密方式進行相應的解密操作,將得到的AH(安裝文件中各個文件存 儲在存儲器的不同位置,將存儲在存儲器不同位置的各個文件,通過存儲器地址鏈接直接 安裝在系統(tǒng)中。進一步地,上述系統(tǒng)還可包括,所述APK加密模塊對提取的該APK安裝文件中配置 文件和字節(jié)碼文件進行加密的方式包括插入注冊碼鑒權(quán)、加殼保護、DES、3DES、3DES+MAC 或自定義加密方式;所述AH(加密模塊的加殼方式包括保護型殼、壓縮型殼或加密型殼的方式。與現(xiàn)有技術(shù)相比,應用本發(fā)明,通過內(nèi)部加密和外部加密對APK安裝文件進行雙 重加密,同時直接使用相應解密安裝對其進行安裝,這樣用戶得不到完整的AH(安裝文件 包,避免了 AH(安裝文件被篡改的危險,保障了用戶使用移動終端的安全性。
圖1是本發(fā)明的一種基于android平臺應用安裝控制方法的流程圖;圖2是本發(fā)明方法中對APK安裝文件進行加密的流程示意圖;圖3是本發(fā)明的加密后形成的AH(安裝文件的應用程序的解密和安裝的流程示意 圖;圖4是本發(fā)明的基于android平臺應用安裝控制系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步說明。本發(fā)明的主要構(gòu)思在于應用程序開發(fā)出來以后,開發(fā)者在發(fā)布到Appstore應用 商城前,先對其進行加密,然后再發(fā)布。而用戶在Appstore下載該應用后,必須要事先另外 獲得開發(fā)者的解密軟件才能將其解密安裝,而且在解密后在內(nèi)存中的文件立即安裝,不在 中間過程生成原AH(安裝文件(不限于需單獨獲取解密軟件這種方式,也可以為解密軟件 與已加密軟件合成一個軟件,該軟件能實現(xiàn)將加密軟件進行解密安裝的功能)。在黑客得不到原APK安裝文件的前提下,傳統(tǒng)的破解方法將不能把加密后的APK 安裝文件反編譯,同時也不能被黑客破解利用,偽造出新的含病毒AH(包。用戶只要獲取 解密軟件,即能對其進行安裝,不會影響用戶的安裝使用,也能保證用戶使用移動終端的安 全。其中,在應用者開發(fā)Android平臺的應用時,每個要安裝到Android平臺的應用都 要被編譯打包為一個單獨的文件,后綴名為.apk,其中包含了應用的二進制代碼、資源、配 置文件等。APK安裝文件其實是zip格式,但后綴名被修改為apk,在Android系統(tǒng)安裝時, AH(程序會被存放在系統(tǒng)默認的APP目錄中。應用發(fā)布時發(fā)布一個.apk的文件,主要包括 以下幾部分內(nèi)容AndroidManifest. xml 該文件是每個APK應用都必須定義和包含的,其中描述了 APK應用的名字、版本、權(quán)限、引用的庫文件等信息。META-INF目錄存放的是簽名信息,用來保證apk包的完整性和系統(tǒng)的安全; META-INF簽名的作用在于檢測APK安裝文件是否被別人修改了。因為當應用開發(fā)者的APK 包被篡改后重新生成簽名,新的簽名和應用開發(fā)者原來的簽名是不一樣的,但簽名這種機 制并不能禁止APK被別人修改。res目錄存放資源文件,其中包括圖片,字符串等。classes, dex文件java源碼編譯后生成的java字節(jié)碼文件。resources, arse 編譯后的二進制資源文件。在現(xiàn)有AH(安裝文件的破解方案中,主要是對APK安裝文件中核心文件 AndroidManifest. xml和classes, dex文件進行反編譯操作,來獲取到源代碼,本發(fā)明通過 對上述兩個關(guān)鍵文件進行加密處理,同時進行外部加殼方式進行再次加密,使AH(安裝文 件難以被破解。圖1是本發(fā)明的一種基于android平臺應用安裝控制方法的流程圖,包括以下步 驟
步驟10、對已生成后的APK安裝文件進行加密操作;步驟20、將加密后的APK安裝文件的應用程序進行發(fā)布;步驟30、獲取該加密后的APK安裝文件的應用程序后,對其進行解密操作并安裝 在系統(tǒng)中。具體地,圖2描述了本發(fā)明方法中對AH(安裝文件進行加密的流程,包括以下步 驟步驟210、生成APK安裝文件,提取該APK安裝文件中配置文件和字節(jié)碼文件;APK安裝文件中配置文件可以是AndroidManifest. xml文件,APK安裝文件中字節(jié) 碼文件可以是classes, dex文件。首先生成android平臺通用的APK安裝文件,將該APK安裝文件進行解壓,提取得 到該 APK 安裝文件中 AndroidManifest. xml 和 classes, dex 文件。步驟220、對提取的該APK安裝文件中配置文件和字節(jié)碼文件進行加密;對提取得到的AndroidManifest. xml和classes, dex文件分別進行加密。其中提取的該AH(安裝文件中配置文件和字節(jié)碼文件進行加密的方式可以如插 入注冊碼鑒權(quán)、加殼保護、DES、3DES或3DES+MAC的方式,當然也可采用其它加密方式或自 定義加密方式等,本發(fā)明對此不作限定。步驟230、將加密后的配置文件和字節(jié)碼文件,與該APK安裝文件中其他文件通過 加殼的方式進行打包,生成一加密后的APK安裝文件的應用程序。加殼后的生成的加密后的AH(安裝文件的應用程序,通過雙重的加密(內(nèi)部加密 和外部加密),使該加密后的APK安裝文件的應用程序不能被直接解壓瀏覽文件中的內(nèi)容。其中所述加殼方式可以包括保護型殼、壓縮型殼或加密型殼等方式,本發(fā)明對此 不作限定。進一步地,所述生成一加密后的AH(安裝文件的應用程序后,還可根據(jù)該應用程 序的加殼方式,以及其配置文件和字節(jié)碼文件的加密方式,生成對應于該應用程序的解密 程序,將加密后的APK安裝文件的應用程序和解密程序進行打包并發(fā)布。用戶只要從Appstore上獲取到開發(fā)者的加密AH(安裝文件,同時獲取到開發(fā)者的 解密安裝軟件,便能對加密APK安裝文件進行解密和安裝。即使黑客獲取到加密后的APK 安裝文件和解密安裝軟件,也不能對其進行防編譯和惡意利用,極大的提高了應用軟件的 保密性和安全性。同樣的,對于采用上述過程加密后形成的APK安裝文件的應用程序的解密和安裝 過程(該解密過程可以由硬件完成,也可以使用軟件完成),如圖3所示,包括步驟310、解析加密后的APK安裝文件的應用程序得到其加殼方式,根據(jù)加殼方式 進行相應的解殼操作,得到加密后的配置文件、字節(jié)碼文件和APK安裝文件中其他文件;解析AH(安裝文件加密包得到其加殼方式,根據(jù)加殼方式進行相應的解殼操作, 得到加密后的AndroidManifest. xml文件、classes, dex文件和APK安裝文件中其他文件, 即進行外部解密。步驟320、解析加密后的配置文件和字節(jié)碼文件得到其加密方式,根據(jù)其加密方式 進行相應的解密操作,將得到的AH(安裝文件中各個文件存儲在存儲器的不同位置,將存 儲在存儲器不同位置的各個文件通過存儲器地址鏈接直接安裝在系統(tǒng)中。
解殼后,對加密的AndroidManifest. xml和classes, dex文件進行相應類型的解 密操作;直接將AH(安裝文件中各個文件存儲在存儲器的不同位置,并不生成AH(安裝文件 包,通過存儲器地址鏈接,將AH(安裝文件中各個文件直接安裝在系統(tǒng)中。通過直接將AH(安裝文件中各個文件存儲在存儲器的不同位置,而不在中間過程 生成原APK安裝文件包,這樣用戶得不到完整的APK安裝文件包,就不能進行破解和反編 譯,而通過存儲器地址鏈接,直接將AH(安裝文件中各個文件安裝在系統(tǒng)中,這樣就降低了 APK安裝文件被破解和反編譯的風險。用戶在應用程序商城下載該加密的APK應用后,該加密的APK應用不能被其他開 發(fā)者進行傳統(tǒng)的破解,也不能被用戶直接安裝。需要獲取對應的解密軟件(不限于需單獨 獲取解密軟件這種方式,也可以為解密軟件與已加密軟件合成一個軟件,該軟件能實現(xiàn)將 加密軟件進行解密安裝的功能)。如圖4所示,基于android平臺應用安裝控制系統(tǒng)40,可以包括加密單元401、發(fā) 布單元402和解密安裝單元403,其中,加密單元401,用于對已生成后的AH(安裝文件進行加密操作;發(fā)布單元402,用于將加密后的APK安裝文件的應用程序進行發(fā)布;及解密安裝單元403,用于獲取該加密后的APK安裝文件的應用程序后,對其進行解 密操作并安裝在系統(tǒng)中。其中,發(fā)布單元402將生成的AH(安裝文件加密包發(fā)布到應用程序商城(如 coolmart, AppStore等)上,供用戶下載。其中,所述加密單元401包括APK提取文件模塊4011和APK加密模塊4012,其中,所述APK提取文件模塊4011,用于提取APK安裝文件中配置文件和字節(jié)碼文件;所述AH(加密模塊4012,用于對提取的該配置文件和字節(jié)碼文件進行加密后,與 該APK安裝文件中其他文件通過加殼的方式進行打包,生成一加密后的APK安裝文件的應 用程序進一步地,APK加密模塊4012,還可用于生成一加密后的APK安裝文件的應用程序 后,根據(jù)該應用程序的加殼方式,以及其配置文件和字節(jié)碼文件的加密方式,生成對應于該 應用程序的解密程序,將加密后的APK安裝文件的應用程序和解密程序進行打包。發(fā)布單元可將打包后的程序進行發(fā)布,用戶只要從Appstore上獲取到開發(fā)者的 加密APK安裝文件,同時獲取到開發(fā)者的解密安裝軟件,便能對加密APK安裝文件進行解密 和安裝。即使黑客獲取到加密后的APK安裝文件和解密安裝軟件,也不能對其進行防編譯 和惡意利用,極大的提高了應用軟件的保密性和安全性。所述解密安裝單元403,還用于解析APK安裝文件加密包得到其加殼方式,根據(jù)加 殼方式進行相應的解殼操作,得到加密后的配置文件、字節(jié)碼文件和AH(安裝文件中其他 文件;解析加密后的配置文件和字節(jié)碼文件得到其加密方式,根據(jù)其加密方式進行相應的 解密操作,將得到的AH(安裝文件中各個文件存儲在存儲器的不同位置,將存儲在存儲器 不同位置的各個文件通過存儲器地址鏈接直接安裝在系統(tǒng)中。所述AH(加密模塊對提取的該AH(安裝文件中配置文件和字節(jié)碼文件進行加密的 方式包括插入注冊碼鑒權(quán)、加殼保護、DES、3DES、3DES+MAC或自定義加密方式。所述AH(加密模塊的加殼方式包括保護型殼、壓縮型殼或加密型殼的方式。
所述AI3K提取文件模塊提取的AI3K安裝文件中所述配置文件是AndroidManifest. xml文件,所述AH(提取文件模塊提取的AH(安裝文件中所述字節(jié)碼文件是classes, dex文 件。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應涵蓋 在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種基于android平臺應用安裝控制方法,其特征在于,包括 對已生成后的APK安裝文件進行加密操作;將加密后的APK安裝文件的應用程序進行發(fā)布;獲取該加密后的APK安裝文件的應用程序后,對其進行解密操作并安裝在系統(tǒng)中。
2.如權(quán)利要求1所述的方法,其特征在于,所述對已生成后的APK安裝文件進行加密操作的步驟,包括 提取已生成后的APK安裝文件中配置文件和字節(jié)碼文件; 對提取的該APK安裝文件中配置文件和字節(jié)碼文件進行加密; 將加密后的配置文件和字節(jié)碼文件,與該APK安裝文件中其他文件通過加殼的方式進 行打包,生成一加密后的APK安裝文件的應用程序。
3.如權(quán)利要求2所述的方法,其特征在于,所述將該加密后的APK安裝文件的應用程序進行解密操作并安裝在系統(tǒng)中的步驟,包括解析所述加密后的APK安裝文件的應用程序得到其加殼方式,根據(jù)加殼方式進行相應 的解殼操作,得到加密后的配置文件、字節(jié)碼文件和APK安裝文件中其他文件;解析加密后的配置文件和字節(jié)碼文件得到其加密方式,根據(jù)其加密方式進行相應的解 密操作,將得到的AH(安裝文件中各個文件存儲在存儲器的不同位置,將存儲在存儲器不 同位置的各個文件,通過存儲器地址鏈接直接安裝在系統(tǒng)中。
4.如權(quán)利要求2所述的方法,其特征在于,所述將加密后的APK安裝文件的應用程序進行發(fā)布的步驟,包括 所述生成一加密后的AH(安裝文件的應用程序后,根據(jù)該應用程序的加殼方式,以及 其配置文件和字節(jié)碼文件的加密方式,生成對應于該應用程序的解密程序,將加密后的APK 安裝文件的應用程序和解密程序進行打包并發(fā)布。
5.如權(quán)利要求1至4任一所述的方法,其特征在于,所述對提取的該APK安裝文件中配置文件和字節(jié)碼文件進行加密的方式包括插入注 冊碼鑒權(quán)、加殼保護、DES、3DES、3DES+MAC或自定義加密方式; 所述加殼方式包括保護型殼、壓縮型殼或加密型殼的方式。
6.一種基于android平臺應用安裝控制系統(tǒng),其特征在于,包括 加密單元,用于對已生成后的APK安裝文件進行加密操作; 發(fā)布單元,用于將加密后的APK安裝文件的應用程序進行發(fā)布;及解密安裝單元,用于獲取該加密后的AH(安裝文件的應用程序后,對其進行解密操作 并安裝在系統(tǒng)中。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述加密單元包括APK提取文件模塊和APK加密模塊,其中, 所述APK提取文件模塊,用于提取APK安裝文件中配置文件和字節(jié)碼文件; 所述AH(加密模塊,用于對提取的該配置文件和字節(jié)碼文件進行加密后,與該AH(安裝 文件中其他文件通過加殼的方式進行打包,生成一加密后的APK安裝文件的應用程序。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述APK加密模塊,還用于生成一加密后的APK安裝文件的應用程序后,根據(jù)該應用程序的加殼方式,以及其配置文件和字節(jié)碼文件的加密方式,生成對應于該應用程序的解密 程序,將加密后的APK安裝文件的應用程序和解密程序進行打包。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述解密安裝單元,還用于解析加密后的AH(安裝文件的應用程序得到其加殼方式, 根據(jù)加殼方式進行相應的解殼操作,得到加密后的配置文件、字節(jié)碼文件和AH(安裝文件 中其他文件;解析加密后的配置文件和字節(jié)碼文件得到其加密方式,根據(jù)其加密方式進行 相應的解密操作,將得到的AH(安裝文件中各個文件存儲在存儲器的不同位置,將存儲在 存儲器不同位置的各個文件,通過存儲器地址鏈接直接安裝在系統(tǒng)中。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述AH(加密模塊對提取的該AH(安裝文件中配置文件和字節(jié)碼文件進行加密的方式 包括插入注冊碼鑒權(quán)、加殼保護、DES、3DES、3DES+MAC或自定義加密方式;所述APK加密模塊的加殼方式包括保護型殼、壓縮型殼或加密型殼的方式。
全文摘要
本發(fā)明公開了一種基于android平臺應用安裝控制方法及系統(tǒng),包括對已生成后的APK安裝文件進行加密操作;將加密后的APK安裝文件的應用程序進行發(fā)布;獲取該加密后的APK安裝文件的應用程序進行解密操作并安裝在系統(tǒng)中。應用本發(fā)明,通過內(nèi)部加密和外部加密對APK安裝文件進行雙重加密,同時直接使用相應解密安裝對其進行安裝,這樣用戶得不到完整的APK安裝文件包,避免了APK安裝文件被篡改的危險,保障了用戶使用移動終端的安全性。
文檔編號G06F9/445GK102087605SQ20111003188
公開日2011年6月8日 申請日期2011年1月28日 優(yōu)先權(quán)日2011年1月28日
發(fā)明者馮玉慧, 葉必清, 汪智勇 申請人:宇龍計算機通信科技(深圳)有限公司