[發明專利]一種IOS應用中繞過函數調用鏈檢測的方法及系統有效
| 申請號: | 201710797781.5 | 申請日: | 2017-09-06 |
| 公開(公告)號: | CN107545182B | 公開(公告)日: | 2019-11-15 |
| 發明(設計)人: | 周志剛;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F8/20 |
| 代理公司: | 11002 北京路浩知識產權代理有限公司 | 代理人: | 王瑩;吳歡燕<國際申請>=<國際公布>= |
| 地址: | 430000湖北省武漢市東湖開發*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ios 應用 繞過 函數 調用 檢測 方法 系統 | ||
1.一種IOS應用中繞過函數調用鏈檢測的方法,其特征在于,包括:
S1,對目的IOS應用程序以及系統函數backtrace進行Hook操作;
S2,通過系統函數backtrace記錄目的IOS應用程序中核心函數的調用過程,以此分析得到一條合法的核心函數調用鏈;
S3,當源IOS應用程序調用目的IOS應用程序的核心函數時,判斷當前函數調用鏈是否為合法的核心函數調用鏈;
S4,若合法,則不作處理,若不合法,則將當前函數調用鏈修改為所述合法的核心函數調用鏈,以繞過核心函數調用堆棧的檢測。
2.如權利要求1所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述步驟S1中對目的IOS應用程序進行Hook操作進一步包括:
對目的IOS應用程序中的每一個Mach-o文件進行Hook操作,以實現對整個目的IOS應用程序的Hook操作。
3.如權利要求2所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述對每一個Mach-o文件進行Hook操作進一步包括:
針對目的IOS應用程序中的每一個Mach-o文件,找到每一個Mach-o文件的函數地址;
為每一個Mach-o文件編寫對應的自定義函數,采用內存分配給所述自定義函數的函數地址替換該Mach-o文件的函數地址,實現每一個Mach-o文件的Hook操作。
4.如權利要求1所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述步驟S1中對系統函數backtrace進行Hook操作進一步包括:
在源IOS應用程序中編寫dylib模塊,且在所述dylib模塊中編寫Hook函數my_backtrace,采用my_backtrace函數對原有的系統函數backtrace函數進行Hook操作,實現當源IOS應用程序調用backtrace函數時跳轉到my_backtrace函數。
5.如權利要求4所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述步驟S3中判斷當前函數調用鏈是否為合法的核心函數調用鏈進一步包括:
當源IOS應用程序調用目的IOS應用程序中的核心函數時,源IOS應用程序調用系統函數backtrace函數獲取真實的當前函數調用鏈;
在Hook函數my_backtrace中判斷當前函數調用鏈是否是dylib模塊中編寫的函數調用鏈。
6.如權利要求5所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述在Hook函數my_backtrace中判斷當前函數調用鏈是否是dylib模塊中編寫的函數調用鏈進一步包括:
調用backtrace函數獲取當前函數調用堆棧的所有內存地址以及調用地址的個數;
調用backtrace_symbols獲取每個內存地址的函數名稱;
根據每一個函數名稱,在Hook函數my_backtrace中判斷當前函數調用鏈是否為dylib模塊中編寫的函數調用鏈。
7.如權利要求6所述的IOS應用中繞過函數調用鏈檢測的方法,其特征在于,所述步驟S4中將當前函數調用鏈修改為所述合法的核心函數調用鏈進一步包括:
若判斷出當前函數調用鏈為dylib模塊中編寫的函數調用鏈,則在my_backtrace函數中利用合法的核心函數調用鏈的內存地址對當前函數調用鏈的內存地址進行修改,實現對當前函數調用鏈進行偽造。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710797781.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:金剛石線激光釬焊裝置及方法
- 下一篇:一種發電電焊兩用機





