[發(fā)明專利]一種基于資源文件的安卓界面靜態(tài)混淆方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910725291.3 | 申請(qǐng)日: | 2019-08-07 |
| 公開(公告)號(hào): | CN110502876B | 公開(公告)日: | 2021-04-27 |
| 發(fā)明(設(shè)計(jì))人: | 江健健;馬駿;陳家浩;孟華;繆源清 | 申請(qǐng)(專利權(quán))人: | 南京大學(xué) |
| 主分類號(hào): | G06F21/14 | 分類號(hào): | G06F21/14 |
| 代理公司: | 南京鐘山專利代理有限公司 32252 | 代理人: | 梁濤 |
| 地址: | 210023 江蘇*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 資源 文件 界面 靜態(tài) 混淆 方法 | ||
1.一種基于資源文件的安卓界面靜態(tài)混淆方法,其特征在于:
所述安卓界面靜態(tài)混淆方法包括以下步驟:
步驟1:獲取待混淆的安卓應(yīng)用的界面布局文件,所述界面布局文件以樹形結(jié)構(gòu)存儲(chǔ)控件信息,布局文件樹的每個(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)用;
步驟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)屬性類型相同且各自位于同一層的子節(jié)點(diǎn)屬性類型相同,則可交換;否則不可交換;
所述父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)是否可交換的判斷方法為:
判斷父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)是否具有相同的屬性類型,若不具有相同的屬性類型,則不可交換;若屬性類型相同,則判斷各自的子節(jié)點(diǎn)是否具有相同屬性類型,并對(duì)子節(jié)點(diǎn)進(jìn)行遞歸判斷一直到葉子節(jié)點(diǎn),若在遞歸過(guò)程中位于同一層的節(jié)點(diǎn)屬性類型均相同,則認(rèn)為其可交換;如果遞歸過(guò)程中在某一層發(fā)現(xiàn)有節(jié)點(diǎn)屬性類型不同,則不可交換,此時(shí)對(duì)于原來(lái)的節(jié)點(diǎn),若其有子節(jié)點(diǎn),則對(duì)其所有子節(jié)點(diǎn),每?jī)蓚€(gè)進(jìn)行比較;若其沒(méi)有子節(jié)點(diǎn),則返回。
2.根據(jù)權(quán)利要求1所述的一種基于資源文件的安卓界面靜態(tài)混淆方法,其特征在于:
步驟1所述獲取待混淆的安卓應(yīng)用的界面布局文件,具體為:
反編譯待混淆的安卓應(yīng)用;在反編譯得到的文件的res文件夾下的layout目錄中獲取界面布局文件。
3.根據(jù)權(quán)利要求1所述的一種基于資源文件的安卓界面靜態(tài)混淆方法,其特征在于:
所述判斷父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)是否具有相同的屬性類型的方法為:
獲取父節(jié)點(diǎn)相同的兩個(gè)節(jié)點(diǎn)各自的屬性列表并按列表下標(biāo)遍歷,若兩個(gè)列表在同一下標(biāo)處的屬性名稱不同,則兩個(gè)節(jié)點(diǎn)屬性類型不同,若遍歷完成后沒(méi)有不同的屬性名稱,則兩個(gè)節(jié)點(diǎn)屬性類型相同。
4.根據(jù)權(quán)利要求1所述的一種基于資源文件的安卓界面靜態(tài)混淆方法,其特征在于:
步驟3所述拆分步驟2得到的界面布局文件,具體為:
在步驟2得到的每個(gè)界面布局文件中隨機(jī)選擇若干節(jié)點(diǎn);
將隨機(jī)選擇的節(jié)點(diǎn)寫入新的界面布局文件,在原界面布局文件中刪除隨機(jī)選擇的節(jié)點(diǎn),并且以include的方式包含新生成的界面布局文件,從而保護(hù)界面信息不被破壞。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910725291.3/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
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è)備,如鍵盤或顯示器
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ò)程





