[發(fā)明專利]一種數(shù)據(jù)加載方法以及裝置有效
| 申請?zhí)枺?/td> | 201610645732.5 | 申請日: | 2016-08-08 |
| 公開(公告)號: | CN107704279B | 公開(公告)日: | 2020-12-29 |
| 發(fā)明(設(shè)計(jì))人: | 黃明虎 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 郝傳鑫;熊永強(qiáng) |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 加載 方法 以及 裝置 | ||
本發(fā)明實(shí)施例公開了一種數(shù)據(jù)加載方法以及裝置,其中方法包括:當(dāng)檢測到對原始動態(tài)鏈接庫的加載指令時,根據(jù)所述加載指令重定向到預(yù)設(shè)修正操作函數(shù);所述預(yù)設(shè)修正操作函數(shù)是用于修改對篡改后的加載操作函數(shù)的調(diào)用關(guān)系的函數(shù);根據(jù)所述預(yù)設(shè)修正操作函數(shù)調(diào)用與所述原始動態(tài)鏈接庫對應(yīng)的原始加載操作函數(shù),以實(shí)現(xiàn)將對所述篡改后的加載操作函數(shù)的調(diào)用修改為對所述原始加載操作函數(shù)的調(diào)用;根據(jù)所述原始加載操作函數(shù)將所述原始動態(tài)鏈接庫加載至內(nèi)存中。采用本發(fā)明,可以避免應(yīng)用程序出現(xiàn)崩潰,并提高應(yīng)用程序在不同Android手機(jī)上的兼容性。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)加載方法以及裝置。
背景技術(shù)
Android(安卓)是開源的手機(jī)操作系統(tǒng),不同的手機(jī)廠商可以對Android系統(tǒng)做不同的定制,因此,Android系統(tǒng)具備多樣性和個性化的特點(diǎn)。例如,某些手機(jī)廠商可以修改Android默認(rèn)的一些底層的動態(tài)鏈接庫(動態(tài)鏈接庫即為.so(shared object,共享對象)文件),使得手機(jī)在對某些應(yīng)用程序進(jìn)行初始化時,將會重定向到與修改后的動態(tài)鏈接庫對應(yīng)的修改后的加載操作函數(shù),并由該修改后的加載操作函數(shù)將該修改后的動態(tài)鏈接庫加載至內(nèi)存。但是有些手機(jī)廠商對動態(tài)鏈接庫的修改可能并不完善,從而導(dǎo)致應(yīng)用程序在間接使用到這些修改后的動態(tài)鏈接庫的時候,就可能出現(xiàn)程序崩潰的情況,從而導(dǎo)致應(yīng)用程序在不同Android手機(jī)上的兼容性較差。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種數(shù)據(jù)加載方法以及裝置,可以避免應(yīng)用程序出現(xiàn)崩潰,并提高應(yīng)用程序在不同Android手機(jī)上的兼容性。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加載方法,包括:
當(dāng)檢測到對原始動態(tài)鏈接庫的加載指令時,根據(jù)所述加載指令重定向到預(yù)設(shè)修正操作函數(shù);所述預(yù)設(shè)修正操作函數(shù)是用于修改對篡改后的加載操作函數(shù)的調(diào)用關(guān)系的函數(shù);
根據(jù)所述預(yù)設(shè)修正操作函數(shù)調(diào)用與所述原始動態(tài)鏈接庫對應(yīng)的原始加載操作函數(shù),以實(shí)現(xiàn)將對所述篡改后的加載操作函數(shù)的調(diào)用修改為對所述原始加載操作函數(shù)的調(diào)用;
根據(jù)所述原始加載操作函數(shù)將所述原始動態(tài)鏈接庫加載至內(nèi)存中。
相應(yīng)地,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)加載裝置,包括:
重定向模塊,用于當(dāng)檢測到對原始動態(tài)鏈接庫的加載指令時,根據(jù)所述加載指令重定向到預(yù)設(shè)修正操作函數(shù);所述預(yù)設(shè)修正操作函數(shù)是用于修改對篡改后的加載操作函數(shù)的調(diào)用關(guān)系的函數(shù);
調(diào)用模塊,用于根據(jù)所述預(yù)設(shè)修正操作函數(shù)調(diào)用與所述原始動態(tài)鏈接庫對應(yīng)的原始加載操作函數(shù),以實(shí)現(xiàn)將對所述篡改后的加載操作函數(shù)的調(diào)用修改為對所述原始加載操作函數(shù)的調(diào)用;
加載模塊,用于根據(jù)所述原始加載操作函數(shù)將所述原始動態(tài)鏈接庫加載至內(nèi)存中。
本發(fā)明實(shí)施例通過預(yù)先設(shè)置用于修改對篡改后的加載操作函數(shù)的調(diào)用關(guān)系的預(yù)設(shè)修正操作函數(shù),使得在檢測到對原始動態(tài)鏈接庫的加載指令時,可以根據(jù)加載指令重定向到預(yù)設(shè)修正操作函數(shù),并根據(jù)預(yù)設(shè)修正操作函數(shù)調(diào)用與原始動態(tài)鏈接庫對應(yīng)的原始加載操作函數(shù),以實(shí)現(xiàn)將對篡改后的加載操作函數(shù)的調(diào)用修改為對原始加載操作函數(shù)的調(diào)用;最后再根據(jù)原始加載操作函數(shù)將原始動態(tài)鏈接庫加載至內(nèi)存中,從而可以避免將篡改后的動態(tài)鏈接庫加載至內(nèi)存。由于在初始化應(yīng)用程序時可以基于預(yù)設(shè)修正操作函數(shù)加載原始動態(tài)鏈接庫,所以可以避免應(yīng)用程序出現(xiàn)崩潰,并提高應(yīng)用程序在不同Android手機(jī)上的兼容性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)加載方法的流程示意圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610645732.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 接收裝置以及接收方法、以及程序
- 凈水濾芯以及凈水裝置、以及洗漱臺
- 隱匿檢索系統(tǒng)以及公開參數(shù)生成裝置以及加密裝置以及用戶秘密密鑰生成裝置以及查詢發(fā)布裝置以及檢索裝置以及計(jì)算機(jī)程序以及隱匿檢索方法以及公開參數(shù)生成方法以及加密方法以及用戶秘密密鑰生成方法以及查詢發(fā)布方法以及檢索方法
- 編碼方法以及裝置、解碼方法以及裝置
- 編碼方法以及裝置、解碼方法以及裝置
- 圖片顯示方法以及裝置以及移動終端
- ENB以及UEUL發(fā)送以及接收的方法
- X射線探測方法以及裝置以及系統(tǒng)
- 圖書信息錄入方法以及系統(tǒng)以及書架
- 護(hù)耳器以及口罩以及眼鏡





