[發(fā)明專利]一種Android應(yīng)用程序防篡改的方法、系統(tǒng)及計(jì)算機(jī)存儲(chǔ)介質(zhì)有效
| 申請?zhí)枺?/td> | 201811534679.7 | 申請日: | 2018-12-14 |
| 公開(公告)號: | CN109753799B | 公開(公告)日: | 2021-01-15 |
| 發(fā)明(設(shè)計(jì))人: | 鄭毅泉;葉威力;魏麗珍;梁煜麓;羅佳 | 申請(專利權(quán))人: | 廈門安勝網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 廈門福貝知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 35235 | 代理人: | 郝學(xué)江 |
| 地址: | 361000 福建省廈門市*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 android 應(yīng)用程序 篡改 方法 系統(tǒng) 計(jì)算機(jī) 存儲(chǔ) 介質(zhì) | ||
1.一種Android應(yīng)用程序防篡改的方法,其特征在于,所述方法包括:
檢測當(dāng)前函數(shù)的第一標(biāo)志是否為第一預(yù)定標(biāo)志,包括:在Dalvik運(yùn)行模式下,檢測當(dāng)前函數(shù)的修飾符是否為ACC_NATIVE,或在Art運(yùn)行模式下,檢測當(dāng)前函數(shù)的access_flags是否標(biāo)識為被Xposed Hook;
若當(dāng)前函數(shù)的第一標(biāo)志為第一預(yù)定標(biāo)志,比較所述當(dāng)前函數(shù)的內(nèi)存結(jié)構(gòu)與原函數(shù)的內(nèi)存結(jié)構(gòu),判斷所述當(dāng)前函數(shù)是否被篡改,所述比較所述當(dāng)前函數(shù)的內(nèi)存結(jié)構(gòu)與原函數(shù)的內(nèi)存結(jié)構(gòu)包括:通過獲取所述當(dāng)前函數(shù)的XposedHookInfo,并將其轉(zhuǎn)換為method結(jié)構(gòu),比較所述當(dāng)前函數(shù)的method結(jié)構(gòu)與所述原函數(shù)的method結(jié)構(gòu);
如果所述當(dāng)前函數(shù)被篡改,則將當(dāng)前函數(shù)恢復(fù)為原函數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述轉(zhuǎn)換為method結(jié)構(gòu)包括:在Dalvik運(yùn)行模式下,通過獲取當(dāng)前函數(shù)method的insns即XposedHookInfo,將其轉(zhuǎn)換為Method結(jié)構(gòu)。
3.如權(quán)利要求1所述的方法,其特征在于,所述轉(zhuǎn)換為method結(jié)構(gòu)包括:在Art運(yùn)行模式下,通過獲取當(dāng)前函數(shù)method的entry_point_from_jni,將hookinfo-original_mathod轉(zhuǎn)換為ArtMethod結(jié)構(gòu)。
4.如權(quán)利要求1所述的方法,其特征在于,所述判斷所述當(dāng)前函數(shù)是否被篡改包括:如果所述當(dāng)前函數(shù)的Method結(jié)構(gòu)與原函數(shù)的Method結(jié)構(gòu)中除了修改過的值,其余的值都相同,則確定當(dāng)前函數(shù)被注入代碼。
5.如權(quán)利要求4所述的方法,其特征在于,在Dalvik運(yùn)行模式下,修改過的值包括:Method結(jié)構(gòu)中的accessFlags,以及nativeFunc、insns、registersSize、outsSize中的至少一個(gè);其余的值包括:clazz、methodIndex、name、shorty中的至少一個(gè)。
6.如權(quán)利要求4所述的方法,其特征在于,在Art運(yùn)行模式下,修改過的值包括:ArtMethod類結(jié)構(gòu)中的access_flags_,以及entry_point_from_jni_、entry_point_from_quick_compiled_code_、dex_code_item_offset_中的至少一個(gè);其余的值包括:declaring_class_、dex_method_index_、method_index_中的至少一個(gè)。
7.如權(quán)利要求1所述的方法,其特征在于,將當(dāng)前函數(shù)恢復(fù)為原函數(shù)包括:將檢測到被篡改的當(dāng)前函數(shù)的內(nèi)存空間替換為備份的原函數(shù)內(nèi)存空間。
8.一種Android應(yīng)用程序防篡改的系統(tǒng),包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上且在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述方法的步驟。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被計(jì)算機(jī)執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述方法的步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門安勝網(wǎng)絡(luò)科技有限公司,未經(jīng)廈門安勝網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811534679.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(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 .通過限制訪問或處理程序或過程
- 一種Android設(shè)備之間遠(yuǎn)程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機(jī)啟動(dòng)時(shí)間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動(dòng)操作系統(tǒng)的Android兼容層實(shí)現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置
- 對虛擬化應(yīng)用程序的基于策略的訪問
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴(kuò)展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對虛擬化應(yīng)用程序的基于策略的訪問的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





