[發(fā)明專利]基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 201911298364.1 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111190813B | 公開(公告)日: | 2022-09-20 |
| 發(fā)明(設(shè)計)人: | 俞研;惠嘯;鄧芳偉;付安民;蘇铓;張晗 | 申請(專利權(quán))人: | 南京理工大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京理工大學(xué)專利中心 32203 | 代理人: | 薛云燕 |
| 地址: | 210094 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 自動化 測試 應(yīng)用 網(wǎng)絡(luò) 行為 信息 提取 系統(tǒng) 方法 | ||
1.一種基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取系統(tǒng),其特征在于,包括靜態(tài)分析模塊、字符串分析模塊、測試用例生成模塊和行為監(jiān)控與信息提取模塊;
所述靜態(tài)分析模塊,用于將Android應(yīng)用的二進制碼轉(zhuǎn)換為Jimple中間碼,采用生命周期建模與組件關(guān)聯(lián)分析生成完整的程序調(diào)用圖,在程序調(diào)用圖上使用路徑搜索算法計算出程序執(zhí)行路徑,采用符號執(zhí)行技術(shù)對路徑進行約束收集與事件收集;
所述字符串分析模塊,用于對關(guān)鍵變量值的逆向計算,首先采用符號表達(dá)式來表示變量,采用污點傳播分析技術(shù)不斷更新相關(guān)變量的符號表達(dá)式,然后采用系統(tǒng)函數(shù)對表達(dá)式中的操作進行模擬還原,計算出最終的變量值;
所述測試用例生成模塊,用于將靜態(tài)分析所得到的事件序列翻譯為可以在移動端實際運行的腳本語言,將事件信息中的源信息、事件類型及事件參數(shù)轉(zhuǎn)換為對應(yīng)的python腳本;
所述行為監(jiān)控與信息提取模塊,用于在Android應(yīng)用運行時監(jiān)控應(yīng)用狀態(tài),當(dāng)網(wǎng)絡(luò)行為發(fā)生時攔截相關(guān)方法并提取出其中參數(shù),網(wǎng)絡(luò)行為信息用于網(wǎng)絡(luò)流量分類和是判別否存在惡意行為。
2.一種基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取方法,其特征在于,該方法基于權(quán)利要求1所述的基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取系統(tǒng),具體包括以下步驟:
步驟1、靜態(tài)分析模塊通過對Android應(yīng)用的Apk進行預(yù)處理,生成程序調(diào)用圖;
步驟2、靜態(tài)分析模塊以網(wǎng)絡(luò)行為作為出發(fā)點對程序可能的執(zhí)行路徑進行探索,收集路徑上的GUI驅(qū)動事件以及事件觸發(fā)的條件;
步驟3、字符串分析模塊對關(guān)鍵變量進行字符串求解,確定關(guān)鍵變量的實際值;
步驟4、測試用例生成模塊根據(jù)收集的事件序列,生成覆蓋網(wǎng)絡(luò)行為執(zhí)行路徑的測試用例;
步驟5、將測試用例注入Davilk虛擬機,行為監(jiān)控與信息提取模塊在網(wǎng)絡(luò)行為發(fā)生時攔截方法并提取相關(guān)信息。
3.根據(jù)權(quán)利要求2所述的基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取方法,其特征在于,步驟1中所述的靜態(tài)分析模塊通過對Android應(yīng)用的Apk進行預(yù)處理,生成程序調(diào)用圖,具體如下:
步驟1.1、使用逆向工程將二進制字節(jié)碼轉(zhuǎn)換為三地址Jimple中間碼;
步驟1.2、對中間碼進行函數(shù)調(diào)用分析,構(gòu)建函數(shù)調(diào)用圖;
步驟1.3、對組件進行關(guān)聯(lián)分析,在函數(shù)調(diào)用圖中添加組件調(diào)用關(guān)系;
步驟1.4、針對Android特有的生命周期函數(shù)進行建模,在組件內(nèi)部添加生命周期函數(shù)間調(diào)用關(guān)系;
步驟1.5、對動態(tài)加載方法進行分析,根據(jù)反射調(diào)用函數(shù)在函數(shù)調(diào)用圖中添加相應(yīng)邊;
步驟1.6、解析Manifest文件中Intent標(biāo)簽中的內(nèi)容,提取組件調(diào)用所需的相關(guān)字段對組件進行建模。
4.根據(jù)權(quán)利要求2所述的基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取方法,其特征在于,步驟1中所述的生成程序調(diào)用圖時,對于組件內(nèi)部由于回調(diào)函數(shù)而產(chǎn)生的Android應(yīng)用生命周期函數(shù)之間的隱式調(diào)用進行了建模分析,符合Android應(yīng)用多入口的特性。
5.根據(jù)權(quán)利要求2所述的基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取方法,其特征在于,步驟2所述的靜態(tài)分析模塊以網(wǎng)絡(luò)行為作為出發(fā)點對程序可能的執(zhí)行路徑進行探索,收集路徑上的GUI驅(qū)動事件以及事件觸發(fā)的條件,具體如下:
步驟2.1、對網(wǎng)絡(luò)行為相關(guān)方法進行標(biāo)記;
步驟2.2、從標(biāo)記點出發(fā),采用深度優(yōu)先搜索策略,在程序調(diào)用圖上探索網(wǎng)絡(luò)行為執(zhí)行路徑,直到搜索到程序入口;
步驟2.3、采用符號執(zhí)行技術(shù)對路徑上的約束進行收集并求解,獲得路徑執(zhí)行條件;
步驟2.4、對路徑中的事件監(jiān)聽器進行分析,獲得路徑中與用戶交互的事件序列。
6.根據(jù)權(quán)利要求5所述的基于自動化測試的安卓應(yīng)用網(wǎng)絡(luò)行為信息提取方法,其特征在于,步驟2.4中所述的事件監(jiān)聽器,包括Manifest文件中注冊的監(jiān)聽器和應(yīng)用程序中動態(tài)注冊的監(jiān)聽器。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京理工大學(xué),未經(jīng)南京理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911298364.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 自動化設(shè)備和自動化系統(tǒng)
- 一種基于流程驅(qū)動的測試自動化方法以及測試自動化系統(tǒng)
- 用于工業(yè)自動化設(shè)備認(rèn)識的系統(tǒng)和方法
- 實現(xiàn)過程自動化服務(wù)的標(biāo)準(zhǔn)化設(shè)計方法學(xué)的自動化系統(tǒng)
- 一種日產(chǎn)50萬安時勻漿自動化系統(tǒng)
- 一種自動化肥料生產(chǎn)系統(tǒng)
- 一種電氣自動化設(shè)備自動檢測系統(tǒng)及檢測方法
- 用于自動化應(yīng)用的抽象層
- 一種基于虛擬化架構(gòu)的自動化系統(tǒng)功能驗證方法
- 自動化測試框架自動測試的實現(xiàn)技術(shù)
- 在線應(yīng)用平臺上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





