保护正版软件,抵制盗版软件,在中国 IT 行业是一个迫在眉睫的任务。目前的软件大部分采用了代码加密以及安装采用序列号的方式来保护自身。本文主要从 C# 软件、java 软件角度来试论目前的破解与正当保护。以及常见的一些专业的技术分析。
当我们的软件开发完成后用于商业行业时,为了盈利,就需要设置权限让未购买者不能使用部分功能。这个时候注册码、激活码编的非常重要,未购买者会加上一些限制,比如使用天数的限制、部分功能不能正常使用、软件定时提示注册等。但是随之而来的是软件被破解,现在软件破解技术越来越强大,几乎国内外大型的软件都有注册机,但是大都不断被破解了,国家大力提倡正版,严厉打击盗版,但是效果不是很明显。现在大多软件商采取了代码加密、产品加密等手段来保护自己的软件。
一、常见的软件破解方式
1. 暴力破解
这是最常见也是最简单的方法。黑客通过一些破解工具 (例如 Cain and Abel)对可以执行的文件.exe 进行修改。暴力破解是一种针对于密码的破译方法,根据组合原理,将数字、字母的组合逐个推算、测试直到找出真正的密码为止。例如一个密码由 5 位数字组成,其可能共有 100000 种组合,因此最多尝试 100000 次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码。暴力破解对于简单的密码破解,是很有效果的。但是缺陷是耗时长,并且当密码比较复杂时(数字与字母组合),就不容易破解了。
2. 算法注册机破解
现在的软件商一般都自己写一些算法来保护自己的产品。比如数字加密(在原始数据基础上加上一个特定的数,再加上另外的数,然后在乘以一个数等等,最终得到一个加密后的数据)、字符串加密(将字符串转码、加上特定字符串等)等。算法注册机是在充分了解了软件的算法基础上,制作出的一种可以自动生成软件注册码的程序。因而软件的算法的编写显得非常重要。
3. 补丁破解以及注册表破解
补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。注册表破解主要是指通过修改注册文件.reg 来达到破解。比如软件试用限制时间是一个月,那么破解者就可以通过修改注册文件.reg 来延长甚至无限制使用软件。
4. C#程序破解
众所周知 C# 里大多的控件是开源的。目前在市场有很多的软件是通过 C# 编写的。从商业利益角度上,软件商设置了很多的限制,但是破解者一样可以长驱直入。NET Reflector 就是大多破解者选择的破解工具,利用该软件,可以清楚的看见程序的代码,那么这个时候软件商写的算法都尽收眼底了。因而破解者可以轻易根据软件商的算法得出软件注册码。
………………
试论软件的破解与保护 PDF 完整版下载(文字可复制):
https://www.aliyundrive.com/s/D3NbCFj7fVA 提取码: 87he