[發明專利]一種基于應用程序編程接口的安卓重打包應用檢測方法有效
| 申請號: | 201310438647.8 | 申請日: | 2013-09-24 |
| 公開(公告)號: | CN103473346A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 郭耀;馬子昂;王浩宇;陳向群 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙) 11360 | 代理人: | 朱紅濤 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 應用程序 編程 接口 安卓重 打包 應用 檢測 方法 | ||
1.一種基于應用程序編程接口的安卓重打包應用檢測方法,適用于檢測安卓平臺的應用程序,其特征是,包括如下步驟:
A.對應用程序文件進行預處理,將二進制代碼轉換為smali代碼文件、提取應用程序的作者簽名信息并構造應用程序編程接口;
B.對smali代碼文件進行處理,以文件夾為單位,提取出安卓應用程序編程接口的調用情況以及對應的調用次數,組成特征向量;
C.計算不同文件夾之間的特征向量的相似度,并進行聚類,去除第三方庫;
D.再次根據應用程序編程接口,計算應用程序的特征向量,對比應用程序的特征向量的相似度,聚類并判斷哪些應用程序為重打包應用。
2.如權利要求1所述的安卓重打包應用檢測方法,其特征是,所述步驟A包括:
A1.提取安卓應用程序二進制代碼文件以及META-INFO文件中的作者簽名信息文件;
A2.使用現有工具,將二進制代碼轉換為smali代碼文件;
A3.使用現有工具,從相應文件提取作者簽名內容。
3.如權利要求1所述的所述的安卓重打包應用檢測方法,其特征是,所述步驟B包括:
B1.對步驟A中得到的smali代碼文件進行處理,讀取smali文件的內容,并用正則表達式進行匹配,將應用程序編程接口函數與其余信息剝離,并以文件夾為單位,統計匯總;
B2.把步驟B1中得到的應用程序編程接口數據轉化為易于程序識別與操作的歐幾里得空間的特征向量。
4.如權利要求1所述的安卓重打包應用檢測方法,其特征是,所述步驟C包括:
C1.對每兩個文件夾之間求向量距離,假設需要比較文件夾a和文件夾b的相似度,首先通過步驟B取得a和b的特征向量,分別為α和β在歐幾里德空間中,若α在某一維度上有值,而β在該維度上沒有值,則β在該維度上補充為0,反之亦然;對α和β,采用以下公式來求取向量距離:
其中n是α和β的維度;
C2.根據向量距離,確定閾值,進行聚類。
5.如權利要求4所述的安卓重打包應用檢測方法,其特征是,步驟D包括:
D1.根據每個文件夾的特征向量,把未經過第三方庫過濾掉的文件夾的特征向量,使用加總的方法,整合為每個應用的特征向量;
D2.使用C1中出現的公式,計算兩兩之間的距離,并以此為基礎采用聚類算法,把距離低于某個閾值的應用聚合到一個類;
D3.對步驟D2中同一個類的應用,審查他們的作者信息,如果同一個類中的應用,其作者簽名不同,則認定兩個應用之間有重打包的關系。
6.如權利要求4所述的安卓重打包應用檢測方法,其特征是,步驟C2中所述的閾值為0.05。
7.如權利要求5所述的安卓重打包應用檢測方法,其特征是,步驟D2中所述的閾值為0.1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310438647.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電容器
- 下一篇:一種銅套引出式電阻分壓器





