[發(fā)明專(zhuān)利]SO文件的保護(hù)方法、裝置及安卓安裝包的加固方法和系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201410659762.2 | 申請(qǐng)日: | 2014-11-18 |
| 公開(kāi)(公告)號(hào): | CN104392181A | 公開(kāi)(公告)日: | 2015-03-04 |
| 發(fā)明(設(shè)計(jì))人: | 施華國(guó);劉敦俊;楊新權(quán) | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類(lèi)號(hào): | G06F21/62 | 分類(lèi)號(hào): | G06F21/62 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 權(quán)鮮枝;何立春 |
| 地址: | 100088 北京市西城區(qū)新*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | so 文件 保護(hù) 方法 裝置 安裝 加固 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)安全領(lǐng)域,具體涉及SO文件的保護(hù)方法、裝置及安卓安裝包的加固方法和系統(tǒng)。
背景技術(shù)
安卓平臺(tái)發(fā)展迅速,已經(jīng)逐漸成為了移動(dòng)終端的最普及的操作系統(tǒng),與其他終端操作系統(tǒng)相比,開(kāi)放式的安卓系統(tǒng)為應(yīng)用開(kāi)發(fā)者提供了更多的功能接口,這些功能接口在提高了系統(tǒng)的可擴(kuò)展性,但同時(shí)也為惡意軟件提供了便利。針對(duì)安卓系統(tǒng)的木馬等惡意軟件可以通過(guò)偽裝的方式保存在安卓安裝包中,騙取用戶(hù)安裝并授予一定的權(quán)限,之后通過(guò)濫用權(quán)限在后臺(tái)執(zhí)行一些特定行為,包括竊取用戶(hù)隱私、騙取資費(fèi)等行為;不僅如此,對(duì)于一些正常的安卓系統(tǒng)應(yīng)用,也存在通過(guò)非法拷貝、逆向工程、反編譯、調(diào)試、破解、二次打包、內(nèi)存截取等手段來(lái)威脅安卓系統(tǒng)的安全,不僅危害了使用者,也給正常應(yīng)用開(kāi)發(fā)者造成嚴(yán)重的損害。
目前市面上針對(duì)安卓安裝包的保護(hù)主要是基于對(duì)dex文件的保護(hù),一般是通過(guò)對(duì)dex文件進(jìn)行加密和混淆等處理手段來(lái)實(shí)現(xiàn),在安卓安裝包運(yùn)行時(shí)再動(dòng)態(tài)解密,還原內(nèi)容。但是由于dex文件的反編譯難度較低,很容易被反編譯工具輕易逆向,導(dǎo)致該類(lèi)方案始終無(wú)法完全解決安卓安裝包面臨的安全問(wèn)題,開(kāi)發(fā)者們也一直在尋求更有效的解決方案。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的SO文件的保護(hù)方法、裝置及安卓安裝包的加固方法和系統(tǒng)。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種SO文件的保護(hù)方法,該方法包括:
將待保護(hù)的SO文件作為代碼數(shù)據(jù)寫(xiě)入殼程序文件中;
對(duì)所述殼程序文件中的所述SO文件進(jìn)行加保護(hù)處理。
可選地,所述對(duì)所述殼程序文件中的所述SO文件進(jìn)行加保護(hù)處理包括如下中的一種或多種:
去掉所述SO文件中的部分信息;
對(duì)所述SO文件進(jìn)行分段加密處理;
對(duì)所述SO文件進(jìn)行代碼混淆處理;
對(duì)所述SO文件進(jìn)行反調(diào)試處理。
可選地,所述去掉所述SO文件中的部分信息包括:
去掉部分或全部頭部信息。
可選地,所述對(duì)所述SO文件進(jìn)行分段加密處理包括:
對(duì)所述SO文件的數(shù)據(jù)節(jié)和代碼節(jié)分別進(jìn)行加密。
可選地,所述對(duì)所述SO文件進(jìn)行代碼混淆處理包括:
在所述SO文件的代碼中填充控制量代碼得到擴(kuò)充后的第一代碼;
采用指定代碼混淆工具從第一代碼中提取出控制量以外的代碼,對(duì)提取出的代碼的順序進(jìn)行隨機(jī)化處理,并在其中插入跳轉(zhuǎn)指令代碼,以保證程序能夠正常執(zhí)行。
可選地,對(duì)所述SO文件進(jìn)行反調(diào)試處理包括:
將可用于反調(diào)試的點(diǎn)插入到所述SO文件進(jìn)行代碼混淆后的代碼中。
可選地,所述殼程序文件中包含能夠?qū)颖Wo(hù)處理后的SO文件進(jìn)行解密處理的代碼。
可選地,該方法進(jìn)一步包括:
對(duì)所述殼程序文件進(jìn)行加密處理。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種安卓安裝包的加固方法,該方法包括:
將對(duì)安卓安裝包實(shí)現(xiàn)加密保護(hù)的代碼保存到所述安卓安裝包的lib目錄下的SO文件中;
對(duì)所述SO文件采用如上任一項(xiàng)所述的方法進(jìn)行保護(hù);
將進(jìn)行保護(hù)后的SO文件和所述安卓安裝包的其他部分重新打包生成加固安裝包。
可選地,所述對(duì)安卓安裝包實(shí)現(xiàn)加密保護(hù)的代碼為:對(duì)安卓安裝包中的dex文件進(jìn)行加密保護(hù)的代碼,或者,安卓安裝包中的dex文件核心代碼。
可選地,該方法進(jìn)一步包括:
根據(jù)所述SO文件的相關(guān)信息,修改所述殼程序文件中的相關(guān)配置信息。
可選地,所述修改所述殼程序文件中的相關(guān)配置信息包括:
修改所述殼程序文件中的如下參數(shù)中的一種或多種:校驗(yàn)碼、SHA1簽名和文件長(zhǎng)度的信息。
可選地,該方法進(jìn)一步包括:
根據(jù)包含SO文件的所述殼程序文件的文件信息,修改所述安卓安裝包中的全局配置文件。
可選地,該方法包括:
接收用戶(hù)上傳的需要進(jìn)行加固保護(hù)的安卓安裝包;其中,所述對(duì)安卓安裝包實(shí)現(xiàn)加密保護(hù)的代碼保存到所述安卓安裝包的lib目錄下的SO文件中;
對(duì)所述SO文件采用如權(quán)利要求1-8中任一項(xiàng)所述的方法進(jìn)行保護(hù);
將進(jìn)行保護(hù)后的SO文件和所述安卓安裝包的其他部分重新打包生成加固安裝包供所述用戶(hù)下載。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種SO文件的保護(hù)裝置,該裝置包括:
寫(xiě)入單元,適于將待保護(hù)的SO文件作為代碼數(shù)據(jù)寫(xiě)入殼程序文件中;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經(jīng)北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410659762.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:對(duì)RFID讀卡器接收信號(hào)進(jìn)行濾波的方法及讀卡器
- 下一篇:一種基于數(shù)據(jù)關(guān)聯(lián)的自動(dòng)內(nèi)存證據(jù)分析方法
- 同類(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ò)限制訪(fǎng)問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪(fǎng)問(wèn)或處理程序或過(guò)程
- 一種數(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ì)





