[发明专利]软件反调试保护方法有效
| 申请号: | 201410814941.9 | 申请日: | 2015-08-03 |
| 公开(公告)号: | CN104504312A | 公开(公告)日: | 2015-07-29 |
| 发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思数盾科技有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/51 |
| 代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 100872 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 调试 保护 方法 | ||
技术领域
本发明涉及计算机软件安全技术,特别是涉及一种软件反调试保护方法。
背景技术
在目前的软件破解领域有一种破解方法,是通过跳过某个功能函数的执行,并伪造其返回值,使程序继续运行达到破解的目的。
例如,当应用程序调用关键的注册函数、认证函数时,破解者通过代码补丁迫使这些函数直接返回有效值,从而使得破解者可以对该应用程序进行非法执行。以下面的注册算法为例,对上述破解手段具体说明如下:
当注册算法包括下述步骤时:
步骤x1、注册函数A进行初始化。
步骤x2、注册函数A调用认证函数B,以确认用户的合法身份。
步骤x3、执行认证函数B,当返回结果为1时表示身份合法,否则,非法。
步骤x4、执行注册函数A,并返回
针对上述注册算法,其破解方法为:跳过步骤x2,即执行函数A时并不调用认证函数B,在步骤x4直接将所破解到的合法身份对应的返回结果1赋值给注册函数A,以使注册函数A执行相应的注册功能,从而实现非法用户的合法注册。
针对上述破解方法,目前尚未提出相应的软件保护方法。
发明内容
有鉴于此,本发明的主要目的在于提供一种软件反调试保护方法,该方法可以有效防止软件的非法运行。
为了达到上述目的,本发明提出的技术方案为:
一种软件反调试保护方法,包括:
a、预先确定软件的功能代码中需要加密返回结果的函数S;
b、执行所述软件的功能代码;其中,在执行所述函数S之前,生成随机数R,在执行所述函数S时,利用所述随机数R对该函数的执行结果进行加密,并将加密后的所述执行结果作为该函数S的返回结果;接收到所述返回结果的函数对所述返回结果进行解密,如果解密成功,则继续所述返回结果的相应处理过程,否则,判定所述软件被非法执行,终止所述功能代码的执行。
综上所述,本发明提出的软件反调试保护方法,在软件执行前,生成随机数,利用该随机数对软件功能代码中的一函数执行结果进行加密,使得软件的破解者不能对该函数的执行结果进行有效识别,进而无法跳过该函数的执行,以确保软件功能代码中的每个步骤在软件的执行过程都必须得到执行,从而可以保护软件不被非法破解执行。
附图说明
图1为本发明实施例一的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:对软件功能代码中的函数执行结果进行加密,提高软件的破解难度,使得软件的破解者不能对该函数执行结果进行有效识别,进而可以保护软件不被非法破解执行。
图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
步骤101、预先确定软件的功能代码中需要加密返回结果的函数S。
具体地,本步骤中,可以任选一函数作为所述函数S。
步骤102、执行所述软件的功能代码;其中,在执行所述函数S之前,生成随机数R,在执行所述函数S时,利用所述随机数R对该函数的执行结果进行加密,并将加密后的所述执行结果作为该函数S的返回结果;接收到所述返回结果的函数对所述返回结果进行解密,如果解密成功,则继续所述返回结果的相应处理过程,否则,判定所述软件被非法执行,终止所述功能代码的执行。
本步骤用于在软件的功能代码执行过程增加函数的加密解密步骤,即在返回函数S的执行结果前对其进行加密,再在其返回结果后,对加密后的返回结果进行解密,使得软件的功能代码被破解的难度提高,从而使得利用现有的跳过某个函数的执行的破解方法无法实现软件的成功运行,进而有效防止软件的非法运行。
较佳地,为了提高随机数的复杂度,增强本发明的抗破解能力,可以采用下述方法生成随机数R:
步骤a1、生成一随机数R1,将该随机数R1作为输入参数传递给一预设随机数生成函数;
步骤a2、所述随机数生成函数,生成随机数R2,并按照预设的组合方式,将所述随机数R1与所述随机数R2进行组合,得到所述随机数R。
这里,利用一随机数生成函数生成随机数R2是为了防止R1被固定,确保R的随机性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技有限公司,未经北京深思数盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410814941.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种录像数据安全存储装置及方法
- 下一篇:基于壳技术的软件保护方法和装置





