[發(fā)明專(zhuān)利]一種應(yīng)用程序安裝包的保護(hù)方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202011182400.0 | 申請(qǐng)日: | 2020-10-29 |
| 公開(kāi)(公告)號(hào): | CN112287306A | 公開(kāi)(公告)日: | 2021-01-29 |
| 發(fā)明(設(shè)計(jì))人: | 陳玉成;劉旭;殷濤;蔡水捷;陳玉玲;周嘉坤;陳思遠(yuǎn) | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)銀聯(lián)股份有限公司 |
| 主分類(lèi)號(hào): | G06F21/14 | 分類(lèi)號(hào): | G06F21/14;G06F21/51 |
| 代理公司: | 北京市中倫律師事務(wù)所 11410 | 代理人: | 楊黎峰 |
| 地址: | 201203 *** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用程序 安裝 保護(hù) 方法 裝置 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
1.一種應(yīng)用程序安裝包的保護(hù)方法,其特征在于,包括:
獲取待保護(hù)的應(yīng)用程序安裝包的可執(zhí)行文件;
在所述可執(zhí)行文件中添加工具類(lèi),所述工具類(lèi)用于定義至少一個(gè)中間方法的信息;
從所述可執(zhí)行文件中依次抽取待保護(hù)方法,根據(jù)依次抽取的所述待保護(hù)方法生成中間虛擬機(jī)指令;
在所述可執(zhí)行文件中,使用所述中間虛擬機(jī)指令對(duì)所述待保護(hù)方法的真實(shí)調(diào)用指令進(jìn)行指令替換。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序安裝包為基于安卓平臺(tái)的應(yīng)用程序安裝包APK;所述可執(zhí)行文件為dex文件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述可執(zhí)行文件中添加工具類(lèi),包括:
獲取java語(yǔ)言的工具類(lèi),根據(jù)所述工具類(lèi)生成第一smali文件;
將所述可執(zhí)行文件轉(zhuǎn)換為第二smali文件;
將所述第一smali文件添加至所述第二smali文件,并重新生成所述可執(zhí)行文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,從所述可執(zhí)行文件中依次抽取待保護(hù)方法,包括:
解析所述可執(zhí)行文件;
基于待保護(hù)方法白名單遍歷解析后的所述可執(zhí)行文件,并依次抽取所述待保護(hù)方法。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
基于基本三元組機(jī)制并根據(jù)抽取的所述待保護(hù)方法生成中間虛擬機(jī)指令,其中,包括:
構(gòu)造對(duì)應(yīng)于所述待保護(hù)方法的中間方法名,根據(jù)所述中間方法名調(diào)用所述工具類(lèi)中定義的中間方法;
在所述抽取完畢之后,將所述中間方法的java文件編譯為dex文件,作為用于替換所述待保護(hù)方法的真實(shí)調(diào)用指令的中間虛擬機(jī)指令;
其中,基本三元組包括方法的返回類(lèi)型、參數(shù)列表和方法屬性,所述基本三元組機(jī)制用于建立返回類(lèi)型、參數(shù)列表和方法屬性相同的多個(gè)不同待保護(hù)方法與同一中間方法之間的多對(duì)一對(duì)應(yīng)關(guān)系。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
基于強(qiáng)三元組機(jī)制并根據(jù)抽取的所述待保護(hù)方法生成中間虛擬機(jī)指令,其中,包括:
構(gòu)造對(duì)應(yīng)于所述待保護(hù)方法的中間方法名,并對(duì)所述中間方法名的返回類(lèi)型和參數(shù)類(lèi)型進(jìn)行轉(zhuǎn)換,調(diào)用所述工具類(lèi)中具有相同返回類(lèi)型的中間方法;
在所述抽取完畢之后,將所述中間方法的java文件編譯為dex文件,作為用于替換所述待保護(hù)方法的真實(shí)調(diào)用指令的中間虛擬機(jī)指令;
其中,強(qiáng)三元組包括轉(zhuǎn)換后的返回類(lèi)型、參數(shù)列表和方法屬性,所述強(qiáng)三元組機(jī)制用于建立具有在所述轉(zhuǎn)換后相同的返回類(lèi)型、參數(shù)列表和方法屬性的多個(gè)不同待保護(hù)方法與同一中間方法之間的多對(duì)一對(duì)應(yīng)關(guān)系。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,
對(duì)所述返回類(lèi)型進(jìn)行轉(zhuǎn)換包括:將類(lèi)類(lèi)型全部轉(zhuǎn)成Object類(lèi)型,將基本數(shù)組類(lèi)型轉(zhuǎn)成Object類(lèi)型,基本類(lèi)型保持不變;
對(duì)所述參數(shù)列表類(lèi)型進(jìn)行轉(zhuǎn)換包括:將類(lèi)類(lèi)型全部轉(zhuǎn)成Object類(lèi)型,基本類(lèi)型保持不變。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,使用所述中間虛擬機(jī)指令替換所述待保護(hù)方法的真實(shí)調(diào)用指令,還包括:
解析所述可執(zhí)行文件,從解析后的所述可執(zhí)行文件中依次抽取所述待保護(hù)方法;
在所述可執(zhí)行文件中,對(duì)每次抽取的所述待保護(hù)方法執(zhí)行指令替換和指令修正;
在所述抽取完畢之后,更新所述可執(zhí)行文件的簽名和文件校驗(yàn)碼。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,對(duì)所述待保護(hù)方法執(zhí)行指令替換和指令修正,包括:
對(duì)所述待保護(hù)方法進(jìn)行指令索引修正和mVmpID修正;
利用生成的所述中間虛擬機(jī)指令替換所述可執(zhí)行文件中抽取的所述待保護(hù)方法的真實(shí)調(diào)用指令,并將多余指令部分置零;
對(duì)進(jìn)行指令替換之后的所述待保護(hù)方法進(jìn)行代碼寄存器修正。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)銀聯(lián)股份有限公司,未經(jīng)中國(guó)銀聯(lián)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011182400.0/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤(pán)或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 對(duì)虛擬化應(yīng)用程序的基于策略的訪問(wèn)
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開(kāi)發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴(kuò)展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對(duì)虛擬化應(yīng)用程序的基于策略的訪問(wèn)的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線(xiàn)程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





