[发明专利]软件代码保护方法有效
| 申请号: | 201510845479.3 | 申请日: | 2015-11-26 |
| 公开(公告)号: | CN105303073A | 公开(公告)日: | 2016-02-03 |
| 发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思数盾科技有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12 |
| 代理公司: | 北京金信知识产权代理有限公司 11225 | 代理人: | 黄威;邓玉婷 |
| 地址: | 100872 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 代码 保护 方法 | ||
本发明公开了一种软件代码保护方法,包括以下步骤:S1,预先对操作系统的API函数库中的至少一个API函数进行自定义修改获得自定义API钩子函数,并将其与API函数库挂接;S2,将自定义API钩子函数安装到或集成到终端设备中操作系统下的目标应用程序中,终端设备与硬件加密设备连接;S3,当要对加载到目标应用程序中的脚本代码进行加密时,运行目标应用程序并先执行自定义API钩子函数,调用硬件加密设备从而获得加密数据;S4,当要对加密数据进行解密时,运行目标应用程序并先执行自定义API钩子函数,调用硬件加密并获得解密数据。该软件代码保护方法解决了现有的软件代码保护方案中安全性差、通过外壳不能保护文本形式的脚本代码所产生的安全隐患。
技术领域
本发明涉及计算机软件领域,特别涉及一种软件代码保护方法。
背景技术
脚本语言又被称为扩建的语言,是一种编程语言,用来控制软件应用程序或请求软件应用程序进行某项服务,脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序设计师快速完成程序的编写工作,脚本代码一般加载于目标应用程序中且都是以文本形式存在,类似于一种命令,只在被调用时进行解释,一个脚本代码通常是解释运行而非编译。对于软件开发商来说,软件的执行效率远不如开发效率重要,因此软件开发中脚本语言的使用变得越来越普遍,因此对加载到目标应用程序中的脚本代码的保护也显得比较重要了。
一般情况下,编译型的代码保护通常由外壳以及硬件加密设备完成,但是对于本身不经过编译过程的脚本语言,作为文本形式存储时,外壳形式的保护并不适用,脚本代码通常需要操作系统的解释器或独立的解释器进行解释,但如果解释器的代码未开放,则保护脚本代码更为困难。
发明内容
鉴于现有技术存在的上述问题,本发明的目的是提供一种软件代码保护方法,该方法在API函数和加密硬件的配合下通过加密和解密脚本代码的方式能够对脚本代码进行有效保护。
为了实现上述目的,在本发明提供了一种软件代码保护方法,包括以下步骤:
S1,预先对操作系统的API函数库中的至少一个API函数进行自定义修改获得自定义API钩子函数,并将其与所述API函数库挂接;
S2,将所述自定义API钩子函数安装到或集成到终端设备中操作系统下的目标应用程序中,所述终端设备与硬件加密设备连接;
S3,当要对加载到所述目标应用程序中的脚本代码进行加密时,运行所述目标应用程序并先执行所述自定义API钩子函数,由所述自定义API钩子函数调用所述硬件加密设备来对加载到所述目标应用程序中的脚本代码进行加密获得加密数据;
S4,当要对所述加密数据进行解密时,运行所述目标应用程序并先执行所述自定义API钩子函数,由所述自定义API钩子函数调用所述硬件加密设备来对所述加密数据进行解密后获得解密数据。
作为优选,步骤S2包括:所述自定义API钩子函数对所述硬件加密设备的运行环境进行检查。
作为优选,步骤S3包括:
S31,由所述操作系统的解释器或所述终端设备中独立的解释器存储所述脚本代码;
S32,所述目标应用程序先执行所述自定义API钩子函数,所述自定义API钩子函数调用所述硬件加密设备,所述硬件加密设备对所述脚本代码进行加密从而获得所述加密数据;
S33,所述自定义API钩子函数将所述加密数据发送到所述目标应用程序或存储在所述硬件加密设备中。
作为优选,步骤S4包括:
S41,所述解释器读取所述加密数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技有限公司,未经北京深思数盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510845479.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带传动式螺旋绞龙立式抽铅机
- 下一篇:一种油桶桶体整形机





