[發(fā)明專利]一種IOS應(yīng)用中繞過函數(shù)調(diào)用鏈檢測的方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710797781.5 | 申請日: | 2017-09-06 |
| 公開(公告)號(hào): | CN107545182B | 公開(公告)日: | 2019-11-15 |
| 發(fā)明(設(shè)計(jì))人: | 周志剛;張文明;陳少杰 | 申請(專利權(quán))人: | 武漢斗魚網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56;G06F8/20 |
| 代理公司: | 11002 北京路浩知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 王瑩;吳歡燕<國際申請>=<國際公布>= |
| 地址: | 430000湖北省武漢市東湖開發(fā)*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 ios 應(yīng)用 繞過 函數(shù) 調(diào)用 檢測 方法 系統(tǒng) | ||
本發(fā)明提供一種IOS應(yīng)用中繞過函數(shù)調(diào)用鏈檢測的方法及系統(tǒng),本發(fā)明對(duì)目的IOS應(yīng)用程序以及系統(tǒng)函數(shù)backtrace進(jìn)行Hook操作,通過系統(tǒng)函數(shù)backtrace記錄目的IOS應(yīng)用程序中核心函數(shù)的調(diào)用過程,以此分析得到一條合法的核心函數(shù)調(diào)用鏈,當(dāng)源IOS應(yīng)用程序的調(diào)用目的IOS應(yīng)用程序的核心函數(shù)時(shí),將當(dāng)前函數(shù)調(diào)用鏈修改為合法的核心函數(shù)調(diào)用鏈,即對(duì)當(dāng)前函數(shù)調(diào)用鏈進(jìn)行偽造,以繞過核心函數(shù)調(diào)用堆棧的檢測,能夠?qū)崿F(xiàn)一個(gè)IOS應(yīng)用程序調(diào)用另一個(gè)IOS應(yīng)用程序的核心函數(shù)。
技術(shù)領(lǐng)域
本發(fā)明涉及堆棧鏈檢測技術(shù)領(lǐng)域,更具體地,涉及一種IOS應(yīng)用中繞過函數(shù)調(diào)用鏈檢測的方法及系統(tǒng)。
背景技術(shù)
隨著移動(dòng)設(shè)備的日益普及,移動(dòng)應(yīng)用產(chǎn)業(yè)尤其是IOS應(yīng)用得到飛速的發(fā)展,同時(shí)其開發(fā)模式和代碼框架也都發(fā)生了巨大的變化。對(duì)于IOS平臺(tái),其程序主要分為主程序和模塊文件,而模塊文件則是dylib模塊,dylib模塊是IOS平臺(tái)上的動(dòng)態(tài)鏈接庫文件,類似于Windows平臺(tái)上的DLL文件或者類似于Android平臺(tái)的SO文件。
當(dāng)一個(gè)IOS應(yīng)用想要獲取另一個(gè)IOS應(yīng)用的數(shù)據(jù)時(shí),需要在IOS應(yīng)用中編寫一個(gè)dylib模塊,例如一個(gè)IOS應(yīng)用想要獲取游戲程序的一些數(shù)據(jù),或者調(diào)用游戲程序的解密函數(shù),或者是獲取游戲程序的資源解密等,是通過編寫一個(gè)dylib模塊,并且將dylib模塊注入到對(duì)應(yīng)的游戲程序中,通過dylib模塊去調(diào)用應(yīng)用程序的函數(shù)。而做為游戲方,為了防止其它的應(yīng)用程序調(diào)用自己的核心函數(shù),通常都會(huì)在核心函數(shù)中加入調(diào)用鏈檢測的功能,通過堆棧檢測來防止除了游戲程序之外的其它應(yīng)用的dylib模塊來調(diào)用核心函數(shù)。
這樣,當(dāng)其它的應(yīng)用程序需要獲取另一個(gè)應(yīng)用程序的核心函數(shù)來獲取一些數(shù)據(jù),才能實(shí)現(xiàn)某個(gè)功能時(shí),由于另一個(gè)應(yīng)用程序會(huì)阻止其它的應(yīng)用程序調(diào)用核心函數(shù),而導(dǎo)致其它的應(yīng)用程序獲取不到數(shù)據(jù),進(jìn)而導(dǎo)致其它應(yīng)用程序的功能無法實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的IOS應(yīng)用中繞過函數(shù)調(diào)用鏈檢測的方法及系統(tǒng)。
根據(jù)本發(fā)明的第一方面,提供一種IOS應(yīng)用中繞過函數(shù)調(diào)用鏈檢測的方法,包括:
S1,對(duì)目的IOS應(yīng)用程序以及系統(tǒng)函數(shù)backtrace進(jìn)行Hook操作;
S2,通過系統(tǒng)函數(shù)backtrace記錄目的IOS應(yīng)用程序中核心函數(shù)的調(diào)用過程,以此分析得到一條合法的核心函數(shù)調(diào)用鏈;
S3,當(dāng)源IOS應(yīng)用程序調(diào)用目的IOS應(yīng)用程序的核心函數(shù)時(shí),判斷當(dāng)前函數(shù)調(diào)用鏈?zhǔn)欠駷楹戏ǖ暮诵暮瘮?shù)調(diào)用鏈;
S4,若合法,則不作處理,若不合法,則將當(dāng)前函數(shù)調(diào)用鏈修改為所述合法的核心函數(shù)調(diào)用鏈,以繞過核心函數(shù)調(diào)用堆棧的檢測,其中,函數(shù)調(diào)用鏈存儲(chǔ)于調(diào)用堆棧中。
本發(fā)明的有益效果為:當(dāng)一個(gè)IOS應(yīng)用程序調(diào)用另一個(gè)IOS應(yīng)用程序的核心函數(shù)時(shí),將當(dāng)前函數(shù)調(diào)用鏈修改為合法的核心函數(shù)調(diào)用鏈,即對(duì)當(dāng)前函數(shù)調(diào)用鏈進(jìn)行偽造,以繞過核心函數(shù)調(diào)用鏈的檢測,能夠?qū)崿F(xiàn)一個(gè)IOS應(yīng)用程序調(diào)用另一個(gè)IOS應(yīng)用程序的核心函數(shù),以獲取對(duì)應(yīng)的數(shù)據(jù)。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以作如下改進(jìn)。
進(jìn)一步的,所述步驟S1中對(duì)目的IOS應(yīng)用程序進(jìn)行Hook操作進(jìn)一步包括:
對(duì)目的IOS應(yīng)用程序中的每一個(gè)Mach-o文件進(jìn)行Hook操作,以實(shí)現(xiàn)對(duì)整個(gè)目的IOS應(yīng)用程序的Hook操作。
進(jìn)一步的,所述對(duì)每一個(gè)Mach-o文件進(jìn)行Hook操作進(jìn)一步包括:
針對(duì)目的IOS應(yīng)用程序中的每一個(gè)Mach-o文件,找到每一個(gè)Mach-o文件的函數(shù)地址;
該專利技術(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/201710797781.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:金剛石線激光釬焊裝置及方法
- 下一篇:一種發(fā)電電焊兩用機(jī)
- 同類專利
- 專利分類
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 .通過限制訪問或處理程序或過程
- 基于IOS終端的離線WIFI熱點(diǎn)認(rèn)證方法和認(rèn)證系統(tǒng)
- 一種綁定iOS設(shè)備的方法、iOS設(shè)備及輔助設(shè)備
- 自動(dòng)讀取設(shè)備參數(shù)的方法和Android工控系統(tǒng)
- 一種由Unity到iOS的封裝方法及裝置
- 在iOS客戶端后臺(tái)持續(xù)運(yùn)行APP的方法及系統(tǒng)
- 一種確定IOS設(shè)備的標(biāo)識(shí)的方法及裝置
- ios應(yīng)用程序自動(dòng)安裝方法及通信裝置
- 遠(yuǎn)程連接iOS設(shè)備的方法、裝置、和設(shè)備
- 一種iOS組件的管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于多進(jìn)程的iOS兼容性自動(dòng)化測試方法與裝置
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(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)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





