[發(fā)明專利]檢測(cè)APK運(yùn)行時(shí)被注入惡意代碼的方法、終端設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201711180978.0 | 申請(qǐng)日: | 2017-11-23 |
| 公開(公告)號(hào): | CN107808096B | 公開(公告)日: | 2019-12-17 |
| 發(fā)明(設(shè)計(jì))人: | 劉星;魏麗珍;梁煜麓;羅佳 | 申請(qǐng)(專利權(quán))人: | 廈門安勝網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56 |
| 代理公司: | 35218 廈門市精誠(chéng)新創(chuàng)知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 方惠春 |
| 地址: | 361000 福建省廈門市*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 檢測(cè) apk 運(yùn)行 注入 惡意代碼 方法 終端設(shè)備 存儲(chǔ) 介質(zhì) | ||
1.一種檢測(cè)安卓安裝包運(yùn)行時(shí)被注入惡意代碼的方法,其特征在于:包括如下步驟:
S1:?jiǎn)?dòng)安卓安裝包APK,進(jìn)入S2步驟;
S2:注冊(cè)一個(gè)native方法M,其內(nèi)存地址為m,進(jìn)入S3步驟;
S3:獲取M的存儲(chǔ)起始地址:在M的native代碼中通過調(diào)用java本地接口jni函數(shù),獲取到該方法的jmethodID,其中jmethodID為方法在java虛擬機(jī)里對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)起始地址,進(jìn)入S4步驟;
S4:掃描M的jmethodID指向的內(nèi)存地址,即M的內(nèi)存地址,判斷其是否等于m,若是,則進(jìn)入S5步驟;若否,則重復(fù)執(zhí)行S4;
S5:獲取m的相對(duì)偏移S,進(jìn)入S6步驟;
S6:設(shè)置需要檢測(cè)的安卓安裝包的關(guān)鍵方法為M0,判斷M0是否為native方法,若是,則設(shè)置M0對(duì)應(yīng)的native內(nèi)存地址是m0,進(jìn)入S7步驟;若否,則表明M0為java方法,進(jìn)入S7步驟;
S7:通過獲取M0的jmethodID,即M0在java虛擬機(jī)里對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)的起始地址P0,進(jìn)而獲取相對(duì)P0偏移為S的地址中的數(shù)據(jù)A或D,當(dāng)M0為native方法時(shí),定義相對(duì)P0偏移為S的地址中的數(shù)據(jù)為A,當(dāng)M0為java方法時(shí),定義相對(duì)P0偏移為S的地址中的數(shù)據(jù)為D,若M0為native方法時(shí),進(jìn)入S8步驟;若M0為java方法時(shí),進(jìn)入S9步驟;
S8:判斷A是否等于m0,若是,則進(jìn)入S10步驟;若否,則進(jìn)入S11步驟;
S9:判斷D指向的內(nèi)存頁面是否可執(zhí)行,若否,則進(jìn)入S10步驟;若是,則進(jìn)入S11步驟;
S10:判定關(guān)鍵方法M0未被掛鉤hook,即對(duì)應(yīng)的安卓安裝包APK運(yùn)行時(shí)未被注入惡意代碼;
S11:判定關(guān)鍵方法M0被掛鉤hook,即對(duì)應(yīng)的安卓安裝包APK運(yùn)行時(shí)被注入了惡意代碼。
2.如權(quán)利要求1所述的檢測(cè)安卓安裝包運(yùn)行時(shí)被注入惡意代碼的方法,其特征在于:S2中,native方法M是通過靜態(tài)注冊(cè)或動(dòng)態(tài)注冊(cè)生成的。
3.如權(quán)利要求1所述的檢測(cè)安卓安裝包運(yùn)行時(shí)被注入惡意代碼的方法,其特征在于:S3中,調(diào)用的java本地接口jni函數(shù)為GetMethodID函數(shù)或GetStaticMethodID函數(shù)。
4.如權(quán)利要求1所述的檢測(cè)安卓安裝包運(yùn)行時(shí)被注入惡意代碼的方法,其特征在于:S11中,關(guān)鍵方法M0被掛鉤hook,是通過安卓系統(tǒng)上通用的hook框架Xposed通過掛鉤hook來實(shí)現(xiàn)的。
5.一種檢測(cè)安卓安裝包運(yùn)行時(shí)被注入惡意代碼的終端設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于:所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1-4所述方法的步驟。
6.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于:所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-4所述方法的步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門安勝網(wǎng)絡(luò)科技有限公司,未經(jīng)廈門安勝網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711180978.0/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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 .通過限制訪問或處理程序或過程
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測(cè)系統(tǒng)及運(yùn)行監(jiān)測(cè)方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動(dòng)建模運(yùn)行系統(tǒng)及運(yùn)行方法





