论文部分内容阅读
摘要:人们在进行软件开发的时候,都十分重视软件的注册码和软件的激活码,没有注册码的软件用户会被加上一些限制,这些限制将会影响软件的正常使用。尽管这样软件的破解技术也日益强大,国内外的大型软件都具备自己的注册机制,尽管这样这些软件仍然会被不断地破解,国家的相关部门都在加大打击不合法软件的力度,同时采取各种各样的措施来支持正版软件,可是在实际实施的过程中并没有达到预期的效果。为了确保自己的软件能够顺利走向市场同时不被别人复制,许多软件生产商为了保护自己的软件,在软件出厂时给这些软件实施加密,大多数软件都是运用加密技术,常见的加密技术有两种,分别是软加密和硬加密。
关键词:软件;破解;保护
中图分类号:TP311.53 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02
大型商业软件在进行制造的过程中,为了防止别人复制和免费使用,往往给软件进行加密,有的采用软加密的方法,有的采用硬加密的方法,这样就给软件以有效的保护。但是随着加密技术的不断发展和进步,软件的破解技术也不断地强大起来,尽管国家已经采取了各种各样的方法,给不法软件以打击,借以保护和支持正版软件,支持知识产权,但是实践表明效果并不是太明显,因此我们有必要采用相应的软件破解与保护方法,以保护软件。本文就软件的破解和保护进行了简单的探索与分析。
1 经常见到的软件破解方法
1.1 常见的破解术语
1.1.1 断点。我们经常说到的断点就是指软件程序中被认为或不得不中断的地方,这种情况大都是因为软件在使用的过程中发生了一些事件,这些特殊事件对计算机会造成一定的影响,让计算机停止正在制定的一些相关任务,然后去执行一些其他任务,经过一定时间的间隔又回到刚开始执行的任务的一个过程。这个时候的破解过程就是计算机程序把操作人员输入的注册码和计算机原有的程序注册码进行比较,在比较的过程中迫使计算机程序中断,在这个过程中操作人员如果分析计算机程序的话,就能很容易找到正确的注册码。
1.1.2 应用程序编程接口。在专业术语中我们把计算机应用程序编程接口简称为API(Application Programming Interface),这是一个大的函数集合,这个函数集合是被系统定义了的,在这个集合中对操作系统特征提供了一定的访问方法。在这个接口中包含了多种应用程序需要经常用到的函数,与操作系统相关的一切操作都必须用这些函数来执行,这些操作包括内存的分配、在屏幕上输出或者创建窗口等。我们常用的微软操作系统程序就是以API为技术的,通过它来实现系统和其他软件之间的交流,我们常见的各种应用程序都是通过调用自己需要的API程序来实现自身的各种功能的。
1.2 常见的软件破解方法
1.2.1 暴力破解法。计算机破解的方法有许多种,其中最常用和最简单的破解方法就是暴力法,运用这种方法对程序进行破解的人员可以通过编辑工具把一些可执行文件修改,这种方法其实就是运用改变可执行程序源文件的属性来进行软件破解的方法。这种方法需要操作人员输入相关的注册码信息,计算机源文件需要对操作人员输入的注册码信息进行验证,如果破解人员输入的注册码信息和计算机通过运算获得的注册码相等或者一模一样,程序就可以破解。
1.2.2 通过算法注册机进行破解。算法注册机是一种对软件的注册码算法进行分析的一种程序,这种程序通过分析后这种程序就能够自动生成一些软件的注册码,它主要利用的是软件算法,因此我们在进行软件制作时要重视软件算法。我们经常使用的软件算法都是软件作者自己编写的,这样就给软件的使用和销售带来了便利,这种类型的软件所使用的加密码只可以在一台电脑中运用,就好像是把软件和计算机进行了绑定。在使用的过程中,应该先运行试用软件,在对这些软件进行运行的过程中,操作人员可以获取想要破解的计算机的机器码,当获得软件所在计算机的机器码后,程序会运用算法注册机进行运算,在运算的过程中程序可以获取正确的注册码,获取这些注册码后就在软件中直接注册。
1.2.3 利用内存破解。内存是数据必须经过的一个关口,要想让数据运行到程序就要先把数据加载到内存中,这些数据需要经过验证码的认证,所以我们要想办法找到我们想要破解的软件的注册码在内存中的位置,这样才能够破解这些软件。采用这种方法来破解软件需要花费的时间较少花费的力气也不是太大,这种方法能够很容易地获取软件注册码信息,同时这种方法也能够节约内存注册机编写的时间。在采用这种破解方法的时候需要先加载内存注册机,然后通过它获得软件的注册码,这时可以对软件中的一些数据进行修改,这样就能够通过内存进行环境模拟的从而破解软件的目的。
1.2.4 文件注册法和补丁破解法。文件注册法是一种把自己的软件注册内容放到一定的地方,为自己何别人用到注册内容的时候提供方便,常见的文件注册法有注册文件和注册表导入两种方法。补丁破解法在破解的过程中需要采用相关的补丁程序,通过这些程序就能够验证软件的注册码,有的时候是通过这些补丁程序修改软件中的一些判断语,这些判断语包括软件的试用时间等。在进行修改的时候可以把软件原来的时间进行修改这样就能够延长软件的试用期,这就能够达到我们能够长期使用该软件的目的。
2 常用的软件保护方法
2.1 注册码
在了解常用的软件保护方法之前,我们需要了解注册码这个概念。所谓的注册码就是软件在每台机器上的单一注册码,一台机器只能拥有一个独一无二的注册码。那么怎么能够实现这个目标呢?首先我们应该查找出硬盘的卷标和电脑中央处理器(CPU)的序列号,生成机器码,在这个过程中我们需要编写相关的函数,通过这些函数我们才能够得到每台计算机硬盘的一些卷标号,获得这些硬盘的卷标号以后,我们再编写获取计算机中央处理器序列号的函数,获得这些号码后,我们就可以生成机器码,机器码需要从相关的一些函数中获得,通过机器码再编写相关的函数就能够获得注册码。获得注册码后,需要先对这些注册码进行检验,没有注册的注册码可通过编写private void CheckRegist0 Cpl函数来自定义试用天数,延迟,未注册画面。
2.2 软加密
在这里我们所说的软加密指的是不通过硬件就达到保护软件的目的。我们现在最常见的软件加密方法都是这种方法。软加密具有密码法、硬件校验法、钥匙盘法等等。在当前形势下使用软加密最常用的就是加密壳,加密壳可以通过修改入口处的代码,然后将这些代码跳转到加密壳代码来执行解密程序。加密壳代码不是固定不变的,而是处于一种运动的状态,因此加密技术也是通过动态的形式来运行的。
2.3 硬加密
我们所说的硬加密就是采用加密狗或者加密锁的方法对软件进行加密。这些加密硬件需要安装在需要软件加密的计算机上,常用的接口是并口和USB口,在这两种接口中,最常用的是后者,这种软件加密技术是通过对硬件的保护对软件或者数据进行加密,从而防止数据被别人盗取的一种技术,这种技术是一种强大的技术,它有效地保证了一些贵重软件在市场中免受盗版危害的目的。在这些加密狗或加密锁内都保存有若干字节的不容易丢失的存储空间,这些空间可支持读写。有的加密狗里面还带有一定的单片机。计算机操作人员要想实现数据的交换,就必须知道软件和软件狗之间的接口函数,接口函数可以检测加密狗是否被插在了接口上。
3 结语
为了防自己的软件不被别人复制,我们需要了解盗版者所使用的破解方法,进而研究好的加密方法,让盗版者在破解密码时付出巨大代价,耗费巨大精力,最终被迫放弃攻击,最终达到保护软件的目的。
参考文献:
[1]李富云.试论软件的破解与保护[J].中小企业管理与科技(下旬刊).2011(11).
[2]牟宗祺.永不再传,经典3式破解软件[J].电脑爱好者,2010(08).
[3]软件是如何“被破解”的?[J].电脑爱好者,2010(09).
关键词:软件;破解;保护
中图分类号:TP311.53 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02
大型商业软件在进行制造的过程中,为了防止别人复制和免费使用,往往给软件进行加密,有的采用软加密的方法,有的采用硬加密的方法,这样就给软件以有效的保护。但是随着加密技术的不断发展和进步,软件的破解技术也不断地强大起来,尽管国家已经采取了各种各样的方法,给不法软件以打击,借以保护和支持正版软件,支持知识产权,但是实践表明效果并不是太明显,因此我们有必要采用相应的软件破解与保护方法,以保护软件。本文就软件的破解和保护进行了简单的探索与分析。
1 经常见到的软件破解方法
1.1 常见的破解术语
1.1.1 断点。我们经常说到的断点就是指软件程序中被认为或不得不中断的地方,这种情况大都是因为软件在使用的过程中发生了一些事件,这些特殊事件对计算机会造成一定的影响,让计算机停止正在制定的一些相关任务,然后去执行一些其他任务,经过一定时间的间隔又回到刚开始执行的任务的一个过程。这个时候的破解过程就是计算机程序把操作人员输入的注册码和计算机原有的程序注册码进行比较,在比较的过程中迫使计算机程序中断,在这个过程中操作人员如果分析计算机程序的话,就能很容易找到正确的注册码。
1.1.2 应用程序编程接口。在专业术语中我们把计算机应用程序编程接口简称为API(Application Programming Interface),这是一个大的函数集合,这个函数集合是被系统定义了的,在这个集合中对操作系统特征提供了一定的访问方法。在这个接口中包含了多种应用程序需要经常用到的函数,与操作系统相关的一切操作都必须用这些函数来执行,这些操作包括内存的分配、在屏幕上输出或者创建窗口等。我们常用的微软操作系统程序就是以API为技术的,通过它来实现系统和其他软件之间的交流,我们常见的各种应用程序都是通过调用自己需要的API程序来实现自身的各种功能的。
1.2 常见的软件破解方法
1.2.1 暴力破解法。计算机破解的方法有许多种,其中最常用和最简单的破解方法就是暴力法,运用这种方法对程序进行破解的人员可以通过编辑工具把一些可执行文件修改,这种方法其实就是运用改变可执行程序源文件的属性来进行软件破解的方法。这种方法需要操作人员输入相关的注册码信息,计算机源文件需要对操作人员输入的注册码信息进行验证,如果破解人员输入的注册码信息和计算机通过运算获得的注册码相等或者一模一样,程序就可以破解。
1.2.2 通过算法注册机进行破解。算法注册机是一种对软件的注册码算法进行分析的一种程序,这种程序通过分析后这种程序就能够自动生成一些软件的注册码,它主要利用的是软件算法,因此我们在进行软件制作时要重视软件算法。我们经常使用的软件算法都是软件作者自己编写的,这样就给软件的使用和销售带来了便利,这种类型的软件所使用的加密码只可以在一台电脑中运用,就好像是把软件和计算机进行了绑定。在使用的过程中,应该先运行试用软件,在对这些软件进行运行的过程中,操作人员可以获取想要破解的计算机的机器码,当获得软件所在计算机的机器码后,程序会运用算法注册机进行运算,在运算的过程中程序可以获取正确的注册码,获取这些注册码后就在软件中直接注册。
1.2.3 利用内存破解。内存是数据必须经过的一个关口,要想让数据运行到程序就要先把数据加载到内存中,这些数据需要经过验证码的认证,所以我们要想办法找到我们想要破解的软件的注册码在内存中的位置,这样才能够破解这些软件。采用这种方法来破解软件需要花费的时间较少花费的力气也不是太大,这种方法能够很容易地获取软件注册码信息,同时这种方法也能够节约内存注册机编写的时间。在采用这种破解方法的时候需要先加载内存注册机,然后通过它获得软件的注册码,这时可以对软件中的一些数据进行修改,这样就能够通过内存进行环境模拟的从而破解软件的目的。
1.2.4 文件注册法和补丁破解法。文件注册法是一种把自己的软件注册内容放到一定的地方,为自己何别人用到注册内容的时候提供方便,常见的文件注册法有注册文件和注册表导入两种方法。补丁破解法在破解的过程中需要采用相关的补丁程序,通过这些程序就能够验证软件的注册码,有的时候是通过这些补丁程序修改软件中的一些判断语,这些判断语包括软件的试用时间等。在进行修改的时候可以把软件原来的时间进行修改这样就能够延长软件的试用期,这就能够达到我们能够长期使用该软件的目的。
2 常用的软件保护方法
2.1 注册码
在了解常用的软件保护方法之前,我们需要了解注册码这个概念。所谓的注册码就是软件在每台机器上的单一注册码,一台机器只能拥有一个独一无二的注册码。那么怎么能够实现这个目标呢?首先我们应该查找出硬盘的卷标和电脑中央处理器(CPU)的序列号,生成机器码,在这个过程中我们需要编写相关的函数,通过这些函数我们才能够得到每台计算机硬盘的一些卷标号,获得这些硬盘的卷标号以后,我们再编写获取计算机中央处理器序列号的函数,获得这些号码后,我们就可以生成机器码,机器码需要从相关的一些函数中获得,通过机器码再编写相关的函数就能够获得注册码。获得注册码后,需要先对这些注册码进行检验,没有注册的注册码可通过编写private void CheckRegist0 Cpl函数来自定义试用天数,延迟,未注册画面。
2.2 软加密
在这里我们所说的软加密指的是不通过硬件就达到保护软件的目的。我们现在最常见的软件加密方法都是这种方法。软加密具有密码法、硬件校验法、钥匙盘法等等。在当前形势下使用软加密最常用的就是加密壳,加密壳可以通过修改入口处的代码,然后将这些代码跳转到加密壳代码来执行解密程序。加密壳代码不是固定不变的,而是处于一种运动的状态,因此加密技术也是通过动态的形式来运行的。
2.3 硬加密
我们所说的硬加密就是采用加密狗或者加密锁的方法对软件进行加密。这些加密硬件需要安装在需要软件加密的计算机上,常用的接口是并口和USB口,在这两种接口中,最常用的是后者,这种软件加密技术是通过对硬件的保护对软件或者数据进行加密,从而防止数据被别人盗取的一种技术,这种技术是一种强大的技术,它有效地保证了一些贵重软件在市场中免受盗版危害的目的。在这些加密狗或加密锁内都保存有若干字节的不容易丢失的存储空间,这些空间可支持读写。有的加密狗里面还带有一定的单片机。计算机操作人员要想实现数据的交换,就必须知道软件和软件狗之间的接口函数,接口函数可以检测加密狗是否被插在了接口上。
3 结语
为了防自己的软件不被别人复制,我们需要了解盗版者所使用的破解方法,进而研究好的加密方法,让盗版者在破解密码时付出巨大代价,耗费巨大精力,最终被迫放弃攻击,最终达到保护软件的目的。
参考文献:
[1]李富云.试论软件的破解与保护[J].中小企业管理与科技(下旬刊).2011(11).
[2]牟宗祺.永不再传,经典3式破解软件[J].电脑爱好者,2010(08).
[3]软件是如何“被破解”的?[J].电脑爱好者,2010(09).