[發(fā)明專利]電子設(shè)備、動態(tài)庫文件保護方法及裝置有效
| 申請?zhí)枺?/td> | 201610696884.8 | 申請日: | 2016-08-19 |
| 公開(公告)號: | CN107766701B | 公開(公告)日: | 2021-01-26 |
| 發(fā)明(設(shè)計)人: | 張華;楊長安 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/51 |
| 代理公司: | 北京律智知識產(chǎn)權(quán)代理有限公司 11438 | 代理人: | 闞梓瑄;王衛(wèi)忠 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 電子設(shè)備 動態(tài) 文件 保護 方法 裝置 | ||
本公開提供了一種電子設(shè)備、動態(tài)庫文件保護方法及裝置。該方法包括:在一應(yīng)用程序調(diào)用一動態(tài)庫文件的一接口函數(shù)時,驗證所述應(yīng)用程序是否為目標應(yīng)用程序;在驗證所述應(yīng)用程序為所述目標應(yīng)用程序時,將所述動態(tài)庫文件中至少作用于所述接口函數(shù)的一狀態(tài)變量的值由第一值設(shè)置為第二值;在所述狀態(tài)變量為所述第一值時設(shè)置所述接口函數(shù)為不可被執(zhí)行以及在所述狀態(tài)變量為第二值時設(shè)置所述接口函數(shù)為可被執(zhí)行。該方法可防止動態(tài)庫文件被非目標應(yīng)用程序調(diào)用。
技術(shù)領(lǐng)域
本公開涉及應(yīng)用軟件開發(fā)技術(shù)領(lǐng)域,具體而言,涉及一種動態(tài)庫文件保護方法、動態(tài)庫文件保護裝置及應(yīng)用該動態(tài)庫文件保護裝置的電子設(shè)備。
背景技術(shù)
動態(tài)庫文件是實現(xiàn)共享函數(shù)庫概念的一種方式。動態(tài)鏈接方式使應(yīng)用程序可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù),該函數(shù)的可執(zhí)行代碼位于一個動態(tài)庫文件中,該動態(tài)庫文件可以包含一個或多個已被編譯、鏈接并與使用它們的進程分開存儲的函數(shù)。
以安卓系統(tǒng)為例,動態(tài)庫文件開發(fā)者可以將核心實現(xiàn)方案寫在一動態(tài)庫文件so庫(so格式動態(tài)庫文件)中供應(yīng)用程序調(diào)用,編譯時so庫將隨應(yīng)用程序的其他部分被打包成apk格式文件。
然而,若該應(yīng)用程序被放到公共網(wǎng)絡(luò)上供用戶下載、安裝以及使用,apk格式文件被反解壓縮反編譯的風險就會存在。將apk格式文件解壓縮之后,非法使用者就能夠拿到應(yīng)用程序中的so庫,通過反編譯就能夠拿到這個so庫的接口類。非法使用者拿到了so庫后,即可將其集成到自己的應(yīng)用程序中,通過接口類非法使用這個so庫。so庫一般是整個應(yīng)用程序的核心技術(shù),應(yīng)用程序的開發(fā)公司或者開發(fā)者往往并不希望別人未經(jīng)授權(quán)非法使用so庫。
需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
發(fā)明內(nèi)容
本公開的目的在于提供一種動態(tài)庫文件保護方法、動態(tài)庫文件保護裝置及應(yīng)用該動態(tài)庫文件保護裝置的電子設(shè)備,用于至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導致的一個或多個問題。
本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本發(fā)明的實踐而習得。
根據(jù)本公開實施例的第一方面,提供一種動態(tài)庫文件保護方法,包括在一應(yīng)用程序調(diào)用一動態(tài)庫文件的一接口函數(shù)時,驗證所述應(yīng)用程序是否為目標應(yīng)用程序;在驗證所述應(yīng)用程序為所述目標應(yīng)用程序時,將所述動態(tài)庫文件中至少作用于所述接口函數(shù)的一狀態(tài)變量的值由第一值設(shè)置為第二值;在所述狀態(tài)變量為所述第一值時設(shè)置所述接口函數(shù)為不可被執(zhí)行以及在所述狀態(tài)變量為第二值時設(shè)置所述接口函數(shù)為可被執(zhí)行。
在本公開的一種示例性實施例中,所述狀態(tài)變量作用于所述動態(tài)庫文件中的多個接口函數(shù)。
在本公開的一種示例性實施例中,所述狀態(tài)變量默認為所述第一值。
在本公開的一種示例性實施例中,所述目標應(yīng)用程序具有一預設(shè)私鑰;其中,驗證所述應(yīng)用程序是否為目標應(yīng)用程序包括:生成一個隨機數(shù)發(fā)送至所述應(yīng)用程序;接收所述應(yīng)用程序使用一私鑰對所述隨機數(shù)加密得到的密文;使用與所述預設(shè)私鑰相對應(yīng)的一預設(shè)公鑰對所述密文進行解密并判斷是否解密得到所述隨機數(shù);在得到所述隨機數(shù)時判斷所述應(yīng)用程序為所述目標應(yīng)用程序,否則,判斷所述應(yīng)用程序不是所述目標應(yīng)用程序。
在本公開的一種示例性實施例中,所述目標應(yīng)用程序具有一預設(shè)驗證信息;其中,驗證所述應(yīng)用程序是否為目標應(yīng)用程序包括:接收所述應(yīng)用程序發(fā)送的一驗證信息,并比對所述驗證信息是否與所述預設(shè)驗證信息一致;在所述驗證信息與所述預設(shè)驗證信息一致時判斷所述應(yīng)用程序為所述目標應(yīng)用程序,否則,判斷所述應(yīng)用程序不是所述目標應(yīng)用程序。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610696884.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





