[發明專利]一種SO文件的調用方法及裝置有效
| 申請號: | 201410582383.8 | 申請日: | 2014-10-27 |
| 公開(公告)號: | CN104298932B | 公開(公告)日: | 2017-12-12 |
| 發明(設計)人: | 廖敏飛;劉麗娟;李文鵬;許騰;吳孟晴;董思 | 申請(專利權)人: | 中國建設銀行股份有限公司 |
| 主分類號: | G06F21/62 | 分類號: | G06F21/62 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 王寶筠 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 so 文件 調用 方法 裝置 | ||
技術領域
本發明涉及軟件技術領域,尤其是一種SO文件的調用方法及裝置。
背景技術
安卓系統中,一般使用共享對象(SO,Shared Object)文件封裝執行重要功能的函數。SO文件是一個動態鏈接庫,該庫中包含有多個函數接口,分別實現不同的功能,例如,產生加密密鑰、執行交易支付等。當應用程序需要使用SO文件中的某項功能時,則向對應的函數接口發送調用指令。
目前,SO文件為明文的二進制文件,被惡意分析工具獲取后直接打開即可獲知SO文件的原文代碼,則必然每個接口函數也暴露為明文文件,容易被篡改,安全性較低。
發明內容
有鑒于此,本發明提供了一種SO文件的調用方法及裝置,用以解決現有技術中SO文件中函數接口的安全性較低的技術問題。為實現所述目的,本發明提供的技術方案如下:
一種共享對象SO文件的調用方法,包括:
當應用程序啟動時,將預先加密的SO文件加載到內存中進行解密,并獲取解密后SO文件在內存中的起始地址;其中,所述預先加密的SO文件中包含多個原始接口;
當接收到所述應用程序的調用指令時,提取所述調用指令中的原始接口名稱,并依據代理接口與原始接口之間的預設對應關系,確定提取到的所述原始接口名稱對應的代理接口;
觸發所述代理接口依據所述解密后SO文件在內存中的起始地址,以及原始接口相對于起始地址的偏移地址,確定所述原始接口在內存中的起始地址;
依據所述原始接口在內存中的起始地址,調用所述原始接口,獲得調用結果。
上述的SO文件的調用方法,優選地,所述加密的SO文件的加密方式,包括:
確定與所述SO文件具有預設調用關系的應用程序文件;
獲取所述應用程序文件的哈希值;
依據所述應用程序文件的哈希值,對所述SO文件進行加密,獲得加密的SO文件。
上述的SO文件的調用方法,優選地,所述加密的SO文件的加密方式,包括:
將所述SO文件劃分為多個文件段;
獲取每個所述文件段各自對應的加密密鑰;
分別利用每個所述加密密鑰,對各自對應的文件段進行加密,獲得加密的SO文件。
上述的SO文件的調用方法,優選地,所述原始接口為加密的原始接口;
其中,所述依據所述原始接口在內存中的起始地址,調用所述原始接口,獲得調用結果,包括:
依據所述原始接口在內存中的起始地址,獲取加密的原始接口;
對所述加密的原始接口進行解密,調用解密后的原始接口,獲得調用結果。
上述的SO文件的調用方法,優選地,所述觸發所述代理接口依據所述解密后SO文件在內存中的起始地址,以及原始接口相對于起始地址的偏移地址,確定所述原始接口在內存中的起始地址,包括:
觸發所述代理接口將所述解密后SO文件在內存中的起始地址加上所述原始接口相對于起始地址的偏移地址,獲得所述原始接口在內存中的起始地址。
本申請還提供了一種共享對象SO文件的調用裝置,包括:
密文文件解密單元,用于當應用程序啟動時,將預先加密的SO文件加載到內存中進行解密,并獲取解密后SO文件在內存中的起始地址;
代理接口確定單元,用于當接收到所述應用程序的調用指令時,提取所述調用指令中的原始接口名稱,并依據代理接口與原始接口之間的預設對應關系,確定提取到的所述原始接口名稱對應的代理接口;
原始接口確定單元,用于觸發所述代理接口依據所述解密后SO文件在內存中的起始地址,以及原始接口相對于起始地址的偏移地址,確定所述原始接口在內存中的起始地址;
原始接口執行單元,用于依據所述原始接口在內存中的起始地址,調用所述原始接口,獲得調用結果。
上述的SO文件的調用裝置,優選地,加密所述密文文件解密單元解密SO文件的單元,包括:
調用程序確定子單元,用于確定與所述SO文件具有預設調用關系的應用程序文件;
程序哈希值獲取子單元,用于獲取所述應用程序文件的哈希值;
哈希值加密子單元,用于依據所述應用程序文件的哈希值,對所述SO文件進行加密,獲得加密的SO文件。
上述的SO文件的調用裝置,優選地,加密所述密文文件解密單元解密SO文件的單元,包括:
文件段劃分子單元,用于將所述SO文件劃分為多個文件段;
文件段密鑰獲取子單元,用于獲取每個所述文件段各自對應的加密密鑰;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國建設銀行股份有限公司,未經中國建設銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410582383.8/2.html,轉載請聲明來源鉆瓜專利網。





