[发明专利]应用程序安装包的生成方法、应用程序的运行方法及装置在审
| 申请号: | 201610693824.0 | 申请日: | 2016-08-19 |
| 公开(公告)号: | CN107766096A | 公开(公告)日: | 2018-03-06 |
| 发明(设计)人: | 郭跃华 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F21/14 |
| 代理公司: | 北京国昊天诚知识产权代理有限公司11315 | 代理人: | 黄熊 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 安装 生成 方法 运行 装置 | ||
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序安装包的生成方法、应用程序的运行方法及装置。
背景技术
随着互联网信息技术的不断发展,越来越多具有不同功能且可以应用于智能终端设备上的应用程序被开发出来,极大的丰富了人们的日常生活。这里所说的应用程序,比如,可以是计算机上的应用程序,也可以是移动终端上的应用(Application,APP)。
然而,随着终端应用市场的飞速发展,应用程序被山寨、被破解的问题也变得越来越严重。对于一些优秀的应用,由于缺少对源代码的保护机制,很容易就可以通过反编译的方式破解,造成应用程序代码的泄露,这就会给应用程序的开发者带来很大损失。
其中,反编译,一般是指将应用程序的指定可执行文件中包含的操作代码(OperateCode,opcode)转化为应用程序的高级语言源代码。就反编译的具体实现方式而言,其通常采用的是转移内存数据(dump内存)的方式:在应用程序运行时,从内存中,dump出应用程序的指定可执行文件中的被加载到内存的操作代码,进而将所述操作代码转化为该应用程序的高级语言源代码。以安卓应用为例,这里所说的指定可执行文件一般是classes.dex文件。
如何保护应用程序的操作代码不会被反编译的方式破解,成为亟待解决的问题。
发明内容
本申请实施例提供一种应用程序安装包的生成方法,用以解决应用程序安装包可能会被反编译的方式破解,而造成应用程序操作代码泄露的问题。
本申请实施例还提供一种应用程序安装包的生成装置,用以解决应用程序安装包可能会被反编译的方式破解,而造成应用程序操作代码泄露的问题。
本申请实施例提供一种应用程序的运行方法。
本申请实施例提供一种应用程序的运行装置。
本申请实施例采用下述技术方案:
一种应用程序安装包的生成方法,包括:
从应用程序第一安装包中确定出待保护的第一代码,并根据确定出的所述第一代码,生成包含所述第一代码的动态链接库文件;
生成用于调用所述生成的动态链接库文件的第二代码;
根据所述第二代码以及所述生成的动态链接库文件,生成包含所述第二代码以及所述动态链接库文件的应用程序第二安装包。
一种应用程序安装包的生成装置,包括:
动态链接库文件生成单元,用于从应用程序第一安装包中确定出待保护的第一代码,并根据分离出的所述第一代码,生成包含所述第一代码的动态链接库文件;
第二代码生成单元,用于生成用于调用所述生成的动态链接库文件的第二代码;
应用程序安装包生成单元,用于根据所述第二代码以及所述生成的动态链接库文件,生成包含所述第二代码以及所述动态链接库文件的应用程序第二安装包。
一种应用程序的运行方法,包括:
接收针对应用程序第二安装包的加载指令;所述应用程序第二安装包中包含用于调用动态链接库文件的第二代码,所述动态链接库文件,是根据所述应用程序第一安装包中待保护的第一代码生成的;
响应于所述加载指令,加载所述第二代码,以使得通过运行所述第二代码,调用所述动态链接库文件到内存中;
运行被调用到所述内存中的所述动态链接库文件。
一种应用程序的运行装置,包括:
加载指令接收单元,用于接收针对应用程序第二安装包的加载指令;所述应用程序第二安装包中包含用于调用动态链接库文件的第二代码,所述动态链接库文件,是根据所述应用程序第一安装包中待保护的第一代码生成的;
代码加载单元,用于响应于所述加载指令,加载所述第二代码,以使得通过运行所述第二代码,调用所述动态链接库文件到内存中;
运行单元,用于运行被调用到所述内存中的所述动态链接库文件。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
一方面,由于根据所述第二代码以及所述生成的动态链接库文件,生成包含所述第二代码以及所述动态链接库文件的应用程序第二安装包后,第一代码存在于应用程序第二安装包的动态链接库中,因此采用反编译的方式从生成的应用程序第二安装包中无法获得第一代码,从而避免了应用程序操作代码泄露;另一方面,由于第一代码原有的功能,后续可以由第二代码调用包含所述第一代码的动态链接库文件来实现,因此保证了生成的应用程序第二安装包仍然可以实现所述第一代码的功能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610693824.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:音响(002)
- 下一篇:基于端点装置提供的启动指令执行启动操作的电子装置





