[发明专利]基于壳技术的软件保护方法和装置在审
申请号: | 201510019423.2 | 申请日: | 2015-08-03 |
公开(公告)号: | CN104504310A | 公开(公告)日: | 2015-07-29 |
发明(设计)人: | 陈静风 | 申请(专利权)人: | 深圳市东信时代信息技术有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 深圳市华优知识产权代理事务所(普通合伙) 44319 | 代理人: | 韦鳌 |
地址: | 518000 广东省深圳市福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 技术 软件 保护 方法 装置 | ||
技术领域
本发明涉及计算机软件保护技术领域,并且特别涉及一种基于壳技术的软件保护方法和装置。
背景技术
随着计算机软件技术的发展,恶意软件的感染破坏能力、破解者的水平都有大幅提升,对于安全性要求高的软件来说,传统的软加密和硬加密方案的保护效果已不再明显,软件加密技术逐渐成熟,其中,壳加密技术便是我们常用的一种软件保护手段。
壳是对加密软件的一个形象的比喻,指的是软件外部的一件“外衣”,是软件的保护屏障。壳加密技术是指利用某种算法,对可移植的可执行文件进行加密、压缩,给文件加上一个外壳,使恶意攻击者无法在对软件反汇编后,直接找到软件的核心代码。软件壳是一段为了防止软件被非法使用、篡改、拷贝等的程序,它通常先于原程序运行,并且在运行后获得了软件的控制权,利用其保护功能对软件进行安全保护。具体而言,先运行壳程序,壳将加密的主程序(即原来的待加壳的程序)代码解密到内存中,运行其中相应功能,并将程序的控制权交还给主程序。
在Win32环境中,软件加壳技术已经有非常成熟的商业产品。但是,对于.NET环境下的软件,由于.NET程序的编译结果不是机器语言代码,而是一种MSIL中间代码,因此,不能使用传统的加壳技术,而是需要一种在.NET环境下使用的软件加壳方法。
发明内容
本发明的目的在于提供一种基于壳技术的软件保护方法和装置。
本发明实施例提供一种基于壳技术的软件保护方法,其特征在于,包括:由编译模块将主程序编译为动态链接库文件;由所述编译模块编写壳程序;由执行模块将所述主程序的运行入口移入所述壳程序,并由所述编译模块将所述壳程序编译生成可执行程序;以及由所述执行模块执行所述壳程序,通过所述壳程序动态加载并运行所述主程序。
优选地,由编译模块将主程序编译为动态链接库文件的所述步骤之后,还包括:由加密模块通过计算机硬件指纹加密所述动态链接库文件。
优选地,所述计算机硬件指纹指的是计算机硬件信息中的识别号。
优选地,由执行模块将所述主程序的运行入口移入所述壳程序,并由所述编译模块将所述壳程序编译生成可执行程序的所述步骤之后,还包括:对所述可执行程序进行混淆或加密。
优选地,在所述壳程序加载所述动态链接库文件时,将所述动态链接库文件解密到内存中,并加载运行。
本发明实施例提供一种基于壳技术的软件保护装置,其特征在于,包括:编译模块,用于将主程序编译为动态链接库文件,编写壳程序,并将所述壳程序编译生成可执行程序;以及执行模块,耦合于所述编译模块,用于将所述主程序的运行入口移入所述壳程序,执行所述壳程序,并通过所述壳程序动态加载并运行所述主程序。
优选地,还包括:加密模块,耦合于所述编译模块,用于通过计算机硬件指纹加密所述动态链接库文件。
优选地,所述计算机硬件指纹指的是计算机硬件信息中的识别号。
优选地,所述加密模块还用于对所述可执行程序进行混淆或加密。
优选地,所述执行模块还用于在所述壳程序加载所述动态链接库文件时,将所述动态链接库文件解密到内存中,并加载运行。
本发明提供的基于壳技术的软件保护装置和方法,通过使用数字签名、MSIL代码混淆、加密等技术,可以防止对软件的非法拷贝,针对计算机硬件指纹授权,对于网络版,可以防止非本服务器的客户端访问服务,实现了高强度的软件保护。此外,由于使用自编的加壳技术,加密技术可以自行设计,并且可以随时调整,而且,用户数不多,因此,攻击者比较少,用这种技术加密的软件安全性也就相对更好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的基于壳技术的软件保护装置的结构示意图。
图2是本发明一实施例提供的基于壳技术的软件保护方法的具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市东信时代信息技术有限公司,未经深圳市东信时代信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510019423.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:软件反调试保护方法
- 下一篇:一种对文件进行加密的方法及设备