[发明专利]一种软件保护方法、装置及系统无效
申请号: | 201310740020.8 | 申请日: | 2013-12-27 |
公开(公告)号: | CN103761457A | 公开(公告)日: | 2014-04-30 |
发明(设计)人: | 王洋;蒋忠林 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 保护 方法 装置 系统 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种软件保护方法、装置及系统。
背景技术
随着移动互联网的发展,可通过移动终端操作系统(例如安卓Android操作系统等)支持的应用软件实现越来越多的功能。现有技术中,可通过代码混淆或更改应用程序字符串信息等方式防止应用程序代码的非法复制和盗版,但是,现有技术中的应用程序代码长期存储于操作系统的安装文件和移动终端中,例如存储于移动终端内置的内存或移动终端外置的SD(Secure Digital Memory Card,安全数码卡)中,破解者可轻易获得,对于代码混淆和更改应用程序字符串信息的应用程序,破解者仍可从站点下载到该应用程序,可直接对该应用程序进行静态的反汇编和反编译得到破解程序,现有技术中的软件保护方案安全性不高,防破解性低。
发明内容
本发明实施例提供一种软件保护方法、装置及系统,用于解决现有技术中破解者可轻易获得应用程序直接反汇编和反编译进行破解导致安全性不高,防破解性低的技术问题。
本发明实施例第一方面提供了一种软件保护方法,包括:
获取应用程序的数据文件,所述应用程序的数据文件包括:所述应用程序的解壳程序、所述应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息;
根据所述应用程序的解壳程序和所述应用程序的加密核心代码属性信息从所述应用程序的数据文件读取所述应用程序的加密核心代码;
对所述读取到的应用程序的加密核心代码进行解密,得到应用程序的源代码,并根据所述应用程序的源代码运行所述应用程序。
在第一方面的第一种可能的实现方式中,所述应用程序的数据文件为:控制终端将所述应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息添加到所述应用程序的解壳程序中生成的数据文件。
结合第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中,所述应用程序的核心代码的属性信息包括:所述应用程序的加密核心代码的长度;
所述根据所述应用程序的解壳程序和所述应用程序的加密核心代码属性信息从所述应用程序的数据文件读取所述应用程序的加密核心代码包括:
从所述应用程序的数据文件中读取所述应用程序的核心代码的长度;
根据所述应用程序的核心代码的长度从所述应用程序的数据文件读取所述应用程序的核心代码。
在第一方面的第三种可能的实现方式中,所述对所述读取到的应用程序的加密核心代码进行解密,得到应用程序的源代码,并根据所述应用程序的源代码运行所述应用程序,包括:
将所述应用程序的源代码存储到预设内存中,所述预设内存包括:动态分配的内存地址;
通过所述预设接口从所述预设内存中加载所述应用程序的源代码,所述预设接口为在操作系统的虚拟机中添加的接口。
本发明实施例第二方面提供了一种软件保护方法,包括:
获取应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息;
将所述应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息添加到所述应用程序的解壳程序中,并生成所述应用程序的数据文件;
将所述生成的应用程序的数据文件存储到预设存储区中,以使移动终端从所述预设存储区获取所述应用程序的数据文件,并根据所述应用程序的数据文件运行所述应用程序。
在第二方面的第一种可能的实现方式中,所述获取应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息包括:
获取所述应用程序的源代码,对所述应用程序的源代码进行加密,得到所述应用程序的加密核心代码;
计算所述应用程序的加密核心代码的长度,所述应用程序的核心代码的属性信息包括:所述应用程序的加密核心代码的长度。
在第二方面的第二种可能的实现方式中,所述方法还包括:
在操作系统的虚拟机中添加预设接口,以使所述移动终端通过所述预设接口加载所述应用程序的数据文件。
本发明实施例第三方面提供了一种软件保护装置,包括:
获取模块,用于获取应用程序的数据文件,所述应用程序的数据文件包括:所述应用程序的解壳程序、所述应用程序的加密核心代码和所述应用程序的加密核心代码的属性信息;
读取模块,用于根据所述应用程序的解壳程序和所述应用程序的加密核心代码属性信息从所述应用程序的数据文件读取所述应用程序的加密核心代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310740020.8/2.html,转载请声明来源钻瓜专利网。