[發明專利]iOS平臺文件讀取保護方法、存儲介質、電子設備及系統有效
| 申請號: | 201710772659.2 | 申請日: | 2017-08-31 |
| 公開(公告)號: | CN109426702B | 公開(公告)日: | 2021-05-28 |
| 發明(設計)人: | 周志剛;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 武漢智權專利代理事務所(特殊普通合伙) 42225 | 代理人: | 張凱 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | ios 平臺 文件 讀取 保護 方法 存儲 介質 電子設備 系統 | ||
1.一種iOS平臺文件讀取保護方法,其特征在于,包括:
S1:獲取iOS系統中的所有Mach-o文件及每個Mach-o文件所對應的內存起始地址,并根據內存起始地址獲取Mach-o文件在內存中的虛擬內存地址;
S2:根據Mach-o文件在內存中的虛擬內存地址,解析Mach-o文件,得到每個Mach-o文件內每個函數的名稱和指針,遍歷每個函數的名稱,找到每個Mach-o文件內的open函數;
S3:編寫一hook函數,所述hook函數用于獲取open函數的調用堆棧信息,其中,所述hook函數用于將目標函數的內存地址進行替換成設定地址,當目標函數執行時,跳轉至設定地址以進行調用堆棧信息的獲取,所述目標函數為open函數;
S4:當使用open函數進行文件內容讀取操作時,則使用hook函數獲取當前open函數的調用堆棧信息,并將獲取的調用堆棧信息上傳至后臺服務器以對獲取的調用堆棧信息的合法性進行判斷,若合法,則不做處理,若不合法,則禁止當前open函數的文件讀取操作;
其中,S4中,對于當前open函數的調用堆棧信息的獲取,具體為:
S401:根據Mach-o文件的虛擬內存地址和指針,獲取Mach-o文件中open函數的內存地址;
S402:將open函數的內存地址替換成設定地址;
S403:open函數跳轉至設定地址,進行open函數的調用堆棧信息的獲取。
2.如權利要求1所述的一種iOS平臺文件讀取保護方法,其特征在于:
所述后臺服務器包括一數據庫;
所述數據庫中存儲有所有open函數的所有合法調用堆棧信息;
判斷獲取的調用堆棧信息是否存在于數據庫中,若存在,則獲取的調用堆棧信息合法,若不存在,則獲取的調用堆棧信息不合法。
3.如權利要求1所述的一種iOS平臺文件讀取保護方法,其特征在于:
定義根據Mach-o文件的虛擬內存地址和指針獲取的open函數的內存地址為原始內存地址;
當判定open函數的調用堆棧信息合法時,則open函數跳回至原始內存地址。
4.一種存儲介質,該存儲介質上存儲有計算機程序,其特征在于:所述計算機程序被處理器執行時實現權利要求1至3任一項所述的方法。
5.一種電子設備,包括存儲器和處理器,存儲器上儲存有在處理器上運行的計算機程序,其特征在于:所述處理器執行所述計算機程序時實現權利要求1至3任一項所述的方法。
6.一種iOS平臺文件讀取保護系統,其特征在于,包括:
獲取模塊,其用于獲取iOS系統中的所有Mach-o文件及每個Mach-o文件所對應的內存起始地址,并根據內存起始地址獲取Mach-o文件在內存中的虛擬內存地址;
執行模塊,其用于根據Mach-o文件在內存中的虛擬內存地址,同時解析Mach-o文件,得到每個Mach-o文件內每個函數的名稱和指針,遍歷每個函數的名稱,找到每個Mach-o文件內的open函數,同時編寫一hook函數,所述hook函數用于獲取open函數的調用堆棧信息,其中,所述hook函數用于將目標函數的內存地址進行替換成設定地址;當目標函數執行時,跳轉至設定地址以進行調用堆棧信息的獲取;所述目標函數為open函數;
判斷模塊,其用于當使用open函數進行文件內容讀取操作時,則使用hook函數獲取當前open函數的調用堆棧信息,并將獲取的調用堆棧信息上傳至后臺服務器以對獲取的調用堆棧信息的合法性進行判斷,若合法,則不做處理,若不合法,則禁止當前open函數的文件讀取操作;
其中,對于當前open函數的調用堆棧信息的獲取,具體為:
根據Mach-o文件的虛擬內存地址和指針,獲取Mach-o文件中open函數的內存地址;
將open函數的內存地址替換成設定地址;
open函數跳轉至設定地址,進行open函數的調用堆棧信息的獲取。
7.如權利要求6所述的一種iOS平臺文件讀取保護系統,其特征在于:所述后臺服務器包括一數據庫;所述數據庫中存儲有所有open函數的所有合法調用堆棧信息;判斷獲取的調用堆棧信息是否存在于數據庫中,若存在,則獲取的調用堆棧信息合法,若不存在,則獲取的調用堆棧信息不合法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710772659.2/1.html,轉載請聲明來源鉆瓜專利網。





