[發(fā)明專(zhuān)利]一種基于資源文件的安卓界面靜態(tài)混淆方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910725291.3 | 申請(qǐng)日: | 2019-08-07 |
| 公開(kāi)(公告)號(hào): | CN110502876B | 公開(kāi)(公告)日: | 2021-04-27 |
| 發(fā)明(設(shè)計(jì))人: | 江健健;馬駿;陳家浩;孟華;繆源清 | 申請(qǐng)(專(zhuān)利權(quán))人: | 南京大學(xué) |
| 主分類(lèi)號(hào): | G06F21/14 | 分類(lèi)號(hào): | G06F21/14 |
| 代理公司: | 南京鐘山專(zhuān)利代理有限公司 32252 | 代理人: | 梁濤 |
| 地址: | 210023 江蘇*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 資源 文件 界面 靜態(tài) 混淆 方法 | ||
本發(fā)明公開(kāi)了一種基于資源文件的安卓界面靜態(tài)混淆方法,包括以下步驟:獲取待混淆的安卓應(yīng)用的界面布局文件,所述界面布局文件以樹(shù)形結(jié)構(gòu)存儲(chǔ)控件信息,布局文件樹(shù)的每個(gè)內(nèi)部節(jié)點(diǎn)代表一個(gè)布局,每個(gè)葉子節(jié)點(diǎn)代表一個(gè)控件;遍歷獲取的所有界面布局文件,尋找并隨機(jī)交換界面布局文件中可交換的同層控件;拆分得到的界面布局文件;將拆分得到的界面布局文件重新打包為可運(yùn)行的安卓應(yīng)用,即得到混淆后的安卓應(yīng)用。本發(fā)明通過(guò)對(duì)安卓應(yīng)用界面布局文件的靜態(tài)修改使得其界面加載過(guò)程與原有界面加載過(guò)程產(chǎn)生了較大的差異,實(shí)現(xiàn)了一種新的安卓混淆攻擊方式。
技術(shù)領(lǐng)域
本發(fā)明屬于安卓應(yīng)用安全技術(shù)領(lǐng)域,具體涉及一種基于資源文件的安卓界面靜態(tài)混淆方法。
背景技術(shù)
隨著智能手機(jī)的大規(guī)模普及,移動(dòng)應(yīng)用開(kāi)發(fā)也得到了飛速發(fā)展,而安卓平臺(tái)更是以其優(yōu)良的性能表現(xiàn)贏得了眾多開(kāi)發(fā)者和用戶(hù)的青睞。形形色色的安卓應(yīng)用出現(xiàn)在應(yīng)用市場(chǎng),極大地豐富了人們的日常生活。但是,由于安卓應(yīng)用易被破解重打包的特性,不法分子可以輕易破解安卓應(yīng)用,獲取安卓應(yīng)用的重要信息,利用安卓混淆攻擊技術(shù)對(duì)其進(jìn)行修改后重打包并發(fā)布到應(yīng)用市場(chǎng)上。這種行為不僅僅是對(duì)安卓開(kāi)發(fā)者知識(shí)產(chǎn)權(quán)的一種侵犯,不法分子植入的惡意代碼更是會(huì)植入廣告、竊取用戶(hù)信息等等,給用戶(hù)造成極大的困擾。因此,如何有效檢測(cè)出一個(gè)安卓應(yīng)用是否經(jīng)過(guò)惡意的混淆攻擊已經(jīng)成為安卓安全領(lǐng)域面臨的重要挑戰(zhàn)。
當(dāng)前,常用的混淆攻擊技術(shù)主要是基于傳統(tǒng)的代碼混淆技術(shù)。在應(yīng)用的源碼層次進(jìn)行的混淆可以有效地提高代碼層次的區(qū)分度,從而避免混淆攻擊被檢測(cè)出來(lái)。而隨著軟件胎記技術(shù)的不斷完善,原有的代碼混淆技術(shù)受到了巨大的挑戰(zhàn)。因此,越來(lái)越多的工作開(kāi)始著眼于用戶(hù)界面。而從實(shí)際上來(lái)講,現(xiàn)階段尚沒(méi)有針對(duì)界面的混淆工具。因此,如何在用戶(hù)界面的層次上進(jìn)行混淆攻擊仍是目前本領(lǐng)域探索的方向。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種基于資源文件的安卓界面靜態(tài)混淆方法,該方法可以從用戶(hù)界面的層次提供一種有效的混淆攻擊方式,使得安卓界面的加載過(guò)程與原有過(guò)程產(chǎn)生較大的差異,可提高混淆攻擊的成功率。
為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明采取的技術(shù)方案為:
一種基于資源文件的安卓界面靜態(tài)混淆方法,包括以下步驟:
步驟1:獲取待混淆的安卓應(yīng)用的界面布局文件,所述界面布局文件以樹(shù)形結(jié)構(gòu)存儲(chǔ)控件信息,布局文件樹(shù)的每個(gè)內(nèi)部節(jié)點(diǎn)代表一個(gè)布局,每個(gè)葉子節(jié)點(diǎn)代表一個(gè)控件;
步驟2:遍歷步驟1獲取的所有界面布局文件,尋找并隨機(jī)交換界面布局文件中可交換的同層控件;
步驟3:拆分步驟2得到的界面布局文件;
步驟4:將步驟3拆分得到的界面布局文件重新打包為可運(yùn)行的安卓應(yīng)用,即得到混淆后的安卓應(yīng)用。
為優(yōu)化上述技術(shù)方案,采取的具體措施還包括:
上述的步驟1所述獲取待混淆的安卓應(yīng)用的界面布局文件,具體為:
反編譯待混淆的安卓應(yīng)用;在反編譯得到的文件的res文件夾下的layout目錄中獲取界面布局文件。
上述的步驟2所述遍歷步驟1獲取的所有界面布局文件,尋找并隨機(jī)交換界面布局文件中可交換的同層控件,具體為:
對(duì)界面布局文件中父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)進(jìn)行比較,判斷其是否可交換;
使用隨機(jī)數(shù)生成隨機(jī)指示變量,對(duì)于可交換的兩個(gè)控件,根據(jù)隨機(jī)指示變量的值決定是否交換。
上述的所述父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)是否可交換的判斷方法為:
若兩個(gè)節(jié)點(diǎn)屬性類(lèi)型相同且各自位于同一層的子節(jié)點(diǎn)屬性類(lèi)型相同,則可交換;否則不可交換。
上述的所述父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)是否可交換的判斷方法為:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910725291.3/2.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ò)程





