[發(fā)明專利]基于安卓系統(tǒng)的代碼編譯方法及裝置有效
| 申請?zhí)枺?/td> | 201610858878.8 | 申請日: | 2016-09-28 |
| 公開(公告)號: | CN107871066B | 公開(公告)日: | 2020-10-09 |
| 發(fā)明(設(shè)計)人: | 張志亮;金彪;陳建祥;斯炘 | 申請(專利權(quán))人: | 傳化物流集團(tuán)有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京博思佳知識產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 311200 浙*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 系統(tǒng) 代碼 編譯 方法 裝置 | ||
本申請?zhí)峁┮环N基于安卓系統(tǒng)的代碼編譯方法及裝置,所述方法包括:開發(fā)客戶端響應(yīng)于用戶輸入的命令行,對所述命令行進(jìn)行解析,獲取所述命令行中攜帶的關(guān)鍵信息;為所述關(guān)鍵信息隨機生成密鑰,并將基于所述密鑰加密后的所述關(guān)鍵信息和與所述密鑰對應(yīng)的解密算法寫入預(yù)設(shè)的C++代碼文件;對所述C++代碼文件進(jìn)行編譯,生成動態(tài)庫文件,以供所述安卓系統(tǒng)的Java層調(diào)用所述動態(tài)庫文件,獲取所述關(guān)鍵信息。使用本申請實施例提供的方法,可以有效地提高程序的安全性。
技術(shù)領(lǐng)域
本申請涉及計算通信領(lǐng)域,尤其涉及基于安卓系統(tǒng)的代碼編譯方法及裝置。
背景技術(shù)
安卓系統(tǒng)是一種基于Linux半開源的操作系統(tǒng),主要應(yīng)用于移動設(shè)備,如智能手機和平板電腦。在實際應(yīng)用中,開發(fā)人員常使用Java語言對安卓系統(tǒng)下的APP(Application,應(yīng)用程序)進(jìn)行開發(fā)。
但是由于Java語言開發(fā)出來的程序容易被反編譯,所以可以通過反編譯Java語言開發(fā)出來的程序,獲取到程序中攜帶的關(guān)鍵信息,這就使得程序的安全性大幅降低。
發(fā)明內(nèi)容
有鑒于此,本申請?zhí)峁┮环N基于安卓系統(tǒng)的代碼編譯方法及裝置,用以提高程序的安全性。
具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:
第一方面,本申請?zhí)峁┮环N基于安卓系統(tǒng)的代碼編譯方法,所述方法應(yīng)用于開發(fā)客戶端,所述方法包括:
響應(yīng)于用戶輸入的命令行,對所述命令行進(jìn)行解析,獲取所述命令行中攜帶的關(guān)鍵信息;
為所述關(guān)鍵信息隨機生成密鑰,并將基于所述密鑰加密后的所述關(guān)鍵信息和與所述密鑰對應(yīng)的解密算法寫入預(yù)設(shè)的C++代碼文件;
對所述C++代碼文件進(jìn)行編譯,生成動態(tài)庫文件,以供所述安卓系統(tǒng)的Java層調(diào)用所述動態(tài)庫文件,獲取所述關(guān)鍵信息。
第二方面,本申請?zhí)峁┮环N基于安卓系統(tǒng)的代碼編譯裝置,所述裝置包括:
獲取單元,用于響應(yīng)于用戶輸入的命令行,對所述命令行進(jìn)行解析,獲取所述命令行中攜帶的關(guān)鍵信息;
寫入單元,用于為所述關(guān)鍵信息隨機生成密鑰,并將基于所述密鑰加密后的所述關(guān)鍵信息和與所述密鑰對應(yīng)的解密算法寫入預(yù)設(shè)的C++代碼文件;
編譯單元,用于對所述C++代碼文件進(jìn)行編譯,生成動態(tài)庫文件,以供所述安卓系統(tǒng)的Java層調(diào)用所述動態(tài)庫文件,獲取所述關(guān)鍵信息。
本申請實施例提供一種基于安卓系統(tǒng)的代碼編譯方法,開發(fā)客戶端通過響應(yīng)于用戶輸入的命令行,對所述命令行進(jìn)行解析,獲取所述命令行中攜帶的關(guān)鍵信息;為所述關(guān)鍵信息隨機生成密鑰,并將基于所述密鑰加密后的所述關(guān)鍵信息和與所述密鑰對應(yīng)的解密算法寫入預(yù)設(shè)的C++代碼文件;對所述C++代碼文件進(jìn)行編譯,生成動態(tài)庫文件,以供所述安卓系統(tǒng)的Java層調(diào)用所述動態(tài)庫文件,獲取所述關(guān)鍵信息。
一方面,由于關(guān)鍵信息是攜帶在命令行中的,因此可以實現(xiàn)在針對預(yù)設(shè)的C++代碼進(jìn)行編譯打包時,將關(guān)鍵信息動態(tài)的傳遞至C++層,與現(xiàn)有的采用硬編碼的方式,將關(guān)鍵信息寫入C++代碼中的機制相比,可以有效的提升該C++代碼程序的可移植性。
另一方面,由于針對關(guān)鍵信息進(jìn)行加密所使用的密鑰以及加密算法,是在針對C++代碼文件進(jìn)行編譯打包時才隨機生成的,不會因為開發(fā)人員疏漏而造成泄露,而且由于關(guān)鍵信息是加密后硬編碼在程序中的,即使針對程序進(jìn)行反編譯,也很難獲取到該密鑰和與密鑰對應(yīng)的解密算法,進(jìn)而無法對加密后的關(guān)鍵信息進(jìn)行解密。因此,可以有效地提高程序的安全性。
附圖說明
圖1是本申請一示例性實施例示出的一種基于安卓系統(tǒng)的代碼編譯方法的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于傳化物流集團(tuán)有限公司,未經(jīng)傳化物流集團(tuán)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610858878.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





