[發(fā)明專利]一種DEX文件的保護(hù)方法及裝置有效
| 申請?zhí)枺?/td> | 201410064826.4 | 申請日: | 2014-02-25 |
| 公開(公告)號: | CN104866734B | 公開(公告)日: | 2018-10-09 |
| 發(fā)明(設(shè)計(jì))人: | 閻文斌 | 申請(專利權(quán))人: | 北京娜迦信息科技發(fā)展有限公司 |
| 主分類號: | G06F21/10 | 分類號: | G06F21/10;G06F21/12 |
| 代理公司: | 北京英賽嘉華知識產(chǎn)權(quán)代理有限責(zé)任公司 11204 | 代理人: | 余朦;王艷春 |
| 地址: | 100084 北京市海淀區(qū)中關(guān)村*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 dex 文件 保護(hù) 方法 裝置 | ||
本發(fā)明公開了一種DEX文件的保護(hù)方法及裝置,涉及數(shù)據(jù)安全技術(shù)領(lǐng)域,能夠?qū)EX文件的相關(guān)指令進(jìn)行隱藏處理,從而提高程序代碼的安全性。該方法主要包括:將待保護(hù)的DEX文件進(jìn)行反匯編處理,得到smali文件;將所述smali文件中待保護(hù)的指令進(jìn)行隱藏處理,得到受保護(hù)的smali文件;將所述受保護(hù)的smali文件進(jìn)行匯編處理,得到受保護(hù)的DEX文件,所述匯編處理與所述反匯編對應(yīng)。本發(fā)明主要用于對DEX文件進(jìn)行保護(hù)的過程中。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)安全技術(shù)領(lǐng)域,具體涉及Android應(yīng)用程序的保護(hù)領(lǐng)域,尤其涉及一種DEX文件的保護(hù)方法及裝置。
背景技術(shù)
Android系統(tǒng)由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā),是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦等。當(dāng)在Android系統(tǒng)中安裝應(yīng)用程序時(shí),可以通過將Android安裝包(Android Package,簡稱APK)文件直接傳送到Android模擬器或Android手機(jī)中執(zhí)行即可實(shí)現(xiàn)安裝,每個(gè)APK文件都包括有DEX文件(Dalvik VM executes),即Android Dalvik執(zhí)行程序。由于Android的開源特性,DEX文件很容易被逆向分析和破解得到中間文件(如smali文件)或源文件,嚴(yán)重影響了Android應(yīng)用程序的保護(hù)。
現(xiàn)有技術(shù)中主要使用源碼級別的代碼混淆方法,來實(shí)現(xiàn)加強(qiáng)Android應(yīng)用程序安全性的目的,也就是在生成應(yīng)用程序安裝包的過程中,調(diào)用Android官方提供的混淆工具,從源碼中獲取混淆元素并且針對其進(jìn)行混淆處理,生成最終的DEX文件。這種以源碼為輸入的混淆方法,主要針對Android程序中出現(xiàn)的包名、類名、方法名三方面進(jìn)行處理。例如:
原始包名:com.example.hellojni
混淆后包名:com.a.b
在執(zhí)行上述DEX文件的保護(hù)方法時(shí),發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:雖然通過混淆android程序中的包名、類名、方法名可以在一定程度上增加閱讀難度,但是混淆后的指令仍然能具有較強(qiáng)的可讀性,逆向破解者僅需要對DEX文件做靜態(tài)分析,便可以獲取代碼的實(shí)現(xiàn)邏輯和創(chuàng)意思路,無法實(shí)現(xiàn)對DEX文件的有效保護(hù)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種DEX文件的保護(hù)方法及裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
一方面,本發(fā)明實(shí)施例提供了一種DEX文件的保護(hù)方法,該方法包括:
將待保護(hù)的DEX文件進(jìn)行反匯編處理,得到smali文件;
將所述smali文件中待保護(hù)的指令進(jìn)行隱藏處理,得到受保護(hù)的smali文件;
將所述受保護(hù)的smali文件進(jìn)行匯編處理,得到受保護(hù)的DEX文件,所述匯編處理與所述反匯編對應(yīng)。
另一方面,本發(fā)明實(shí)施例還提供了一種DEX文件的保護(hù)裝置,該裝置包括:
反匯編模塊,用于將待保護(hù)的DEX文件進(jìn)行反匯編處理,得到smali文件;
隱藏模塊,用于將所述反匯編模塊得到的smali文件中待保護(hù)的指令進(jìn)行隱藏處理,得到受保護(hù)的smali文件;
匯編模塊,用于將所述隱藏模塊得到的所述受保護(hù)的smali文件進(jìn)行匯編處理,得到受保護(hù)的DEX文件,所述匯編處理與所述反匯編對應(yīng)。
本發(fā)明實(shí)施例提出的一種DEX文件的保護(hù)方法及裝置,通過將DEX文件反匯編得到中間文件即smali文件,然后將smali文件中待保護(hù)的指令進(jìn)行隱藏處理,并經(jīng)匯編后得到受保護(hù)的DEX文件,使得所述受保護(hù)的DEX文件內(nèi)容變得難以識別,從而極大地增加了APK程序邏輯的分析時(shí)間成本以及分析難度,進(jìn)一步提高了程序代碼的安全性,有效地滿足了Android應(yīng)用程序?qū)轨o態(tài)以及動態(tài)逆向破解的需求。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京娜迦信息科技發(fā)展有限公司,未經(jīng)北京娜迦信息科技發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410064826.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程





