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





