[发明专利]基于安卓系统的代码编译方法及装置有效
| 申请号: | 201610858878.8 | 申请日: | 2016-09-28 |
| 公开(公告)号: | CN107871066B | 公开(公告)日: | 2020-10-09 |
| 发明(设计)人: | 张志亮;金彪;陈建祥;斯炘 | 申请(专利权)人: | 传化物流集团有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 311200 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 系统 代码 编译 方法 装置 | ||
本申请提供一种基于安卓系统的代码编译方法及装置,所述方法包括:开发客户端响应于用户输入的命令行,对所述命令行进行解析,获取所述命令行中携带的关键信息;为所述关键信息随机生成密钥,并将基于所述密钥加密后的所述关键信息和与所述密钥对应的解密算法写入预设的C++代码文件;对所述C++代码文件进行编译,生成动态库文件,以供所述安卓系统的Java层调用所述动态库文件,获取所述关键信息。使用本申请实施例提供的方法,可以有效地提高程序的安全性。
技术领域
本申请涉及计算通信领域,尤其涉及基于安卓系统的代码编译方法及装置。
背景技术
安卓系统是一种基于Linux半开源的操作系统,主要应用于移动设备,如智能手机和平板电脑。在实际应用中,开发人员常使用Java语言对安卓系统下的APP(Application,应用程序)进行开发。
但是由于Java语言开发出来的程序容易被反编译,所以可以通过反编译Java语言开发出来的程序,获取到程序中携带的关键信息,这就使得程序的安全性大幅降低。
发明内容
有鉴于此,本申请提供一种基于安卓系统的代码编译方法及装置,用以提高程序的安全性。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供一种基于安卓系统的代码编译方法,所述方法应用于开发客户端,所述方法包括:
响应于用户输入的命令行,对所述命令行进行解析,获取所述命令行中携带的关键信息;
为所述关键信息随机生成密钥,并将基于所述密钥加密后的所述关键信息和与所述密钥对应的解密算法写入预设的C++代码文件;
对所述C++代码文件进行编译,生成动态库文件,以供所述安卓系统的Java层调用所述动态库文件,获取所述关键信息。
第二方面,本申请提供一种基于安卓系统的代码编译装置,所述装置包括:
获取单元,用于响应于用户输入的命令行,对所述命令行进行解析,获取所述命令行中携带的关键信息;
写入单元,用于为所述关键信息随机生成密钥,并将基于所述密钥加密后的所述关键信息和与所述密钥对应的解密算法写入预设的C++代码文件;
编译单元,用于对所述C++代码文件进行编译,生成动态库文件,以供所述安卓系统的Java层调用所述动态库文件,获取所述关键信息。
本申请实施例提供一种基于安卓系统的代码编译方法,开发客户端通过响应于用户输入的命令行,对所述命令行进行解析,获取所述命令行中携带的关键信息;为所述关键信息随机生成密钥,并将基于所述密钥加密后的所述关键信息和与所述密钥对应的解密算法写入预设的C++代码文件;对所述C++代码文件进行编译,生成动态库文件,以供所述安卓系统的Java层调用所述动态库文件,获取所述关键信息。
一方面,由于关键信息是携带在命令行中的,因此可以实现在针对预设的C++代码进行编译打包时,将关键信息动态的传递至C++层,与现有的采用硬编码的方式,将关键信息写入C++代码中的机制相比,可以有效的提升该C++代码程序的可移植性。
另一方面,由于针对关键信息进行加密所使用的密钥以及加密算法,是在针对C++代码文件进行编译打包时才随机生成的,不会因为开发人员疏漏而造成泄露,而且由于关键信息是加密后硬编码在程序中的,即使针对程序进行反编译,也很难获取到该密钥和与密钥对应的解密算法,进而无法对加密后的关键信息进行解密。因此,可以有效地提高程序的安全性。
附图说明
图1是本申请一示例性实施例示出的一种基于安卓系统的代码编译方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于传化物流集团有限公司,未经传化物流集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610858878.8/2.html,转载请声明来源钻瓜专利网。





