4.2 软件解密方式概述
关于软件解密和注册保护方式有很多种,比如最常用到的爆破方式解密,不同的解密方式可以显示解密者不同的解密水平。软件的破解技术与保护技术这两者之间本身就是矛与盾的关系,它们是在相互斗争中发展进化的,这种技术上的较量归根结底是一种利益的冲突。
在软件解密中有三种常用的解密方式:爆破方式、跟踪注册过程及写出注册机。
爆破方式就是通过修改程序流程来达到解密注册保护方式的目的,即通过静态分析的过程。常见的软件如W32SAS等静态反汇编或者反编译软件。
跟踪注册过程就是通过使用解密工具找出软件注册码的计算过程,了解软件注册码的计算方法,再利用编程语言来实现,做出软件的算法注册机。这是一个动态分析的过程,常见的软件如OLLYDBG等动态调试软件。
写出注册机就是通过对软件注册码进行对比分析,在求出软件注册码的换算方法之后,再利用编程语言将其编写实现,制作出一个可供用户实现计算注册码的小程序(注册机)。
对于不同的加密方式,可以采用不同的解密方式。
1.加密狗方式
破解加密狗一般有如下几种方式。
(1)爆破
通过修改加密狗驱动程序中的值或修改程序中读取加密狗的操作,达到解密的目的。
(2)硬件复制
利用同型号的加密狗进行加密狗数据复制,这就要对底层的各类硬件功能非常熟悉。
(3)软狗模拟
通过自己重新编写加密狗驱动程序,来模拟加密狗及加密狗内的算法和值。
2.光盘加密
这种加密方式一般应用于游戏软件,可以防止原始光盘被非法复制。要破解这种加密方式,只能进行爆破或虚拟光盘。
3.网络验证
破解网络验证一般也是采用爆破或模拟校验的方式。软件连接到官方网站进行校验其实就是向官方网站发送一些数据包,模拟校验就是通过截取和分析软件发送的数据包,尽可能地分析出官方网站验证数据包的过程,再编写相应的源代码或程序等模块来进行模拟校验,跳过官方网站的校验程序进行注册。
4.NAG窗口
只能用爆破的方式破解NAG窗口,通过修改软件的窗体资源或修改窗体所在代码,来屏蔽窗体或强行跳过之后,才可使NAG窗口不再运行。