|
发表于 2016-5-11 15:28:58
|
显示全部楼层
“第一层,源代码级加密,软件会根据加密狗的ID号计算生成一个变量。。。”
这种方案有固定的攻击方法可以绕过,所以建议反盗版方案中不要太依赖于硬件ID。
“第二层,加密狗外壳加密,3.4之前的软件使用硬件狗加iKey双层加密。。。。内置变量由原1个增加到32个。。。。”
这样只是在一定程度上延长破解时间,并不能大幅度提高破解的复杂度。如果是使用相同的思路,1个内置变量和32个内置变量并没有本质上的不同,所以建议只作为辅助方法。
“同时,软件的核心算法也将在加密狗中运行”
这是比较推荐的目前最主流的反盗版方案,建议作为最主要的方案。基本思路是将软件的一部分(比如核心算法)放在加密狗中运行,软件运行到一个点后,必须配合加密狗中的运行结果,才能继续往后面运行。具体的设计方案很重要,要是设计的不好,就达不到效果,还是很容易破解,但是要是方案设计得当,那就几乎很难破解了。基本的原则是放在加密狗中的代码要与软件保持高耦合度,也就是最后的效果要是离开了这段代码软件就无法往下运行了。另外就是放在加密狗中的代码输出的结果不能是线性的,这样很容易被猜测,所以必须想办法让输出的结果看起来每次运行都不一样,有很大的随机性,但实际上又不是随机的。总之,建议尽可能多的让软件的核心部分放入加密狗中,同时要有非线性的输出,这样可以极大的防止破解。
“第三层,使用SE加密”
SE壳很强大,建议充分利用其功能,不要只是直接整体加密一下就完事。在SE群里面还是会有人抱怨加了SE后还是被破解了,主要原因还是没有充分利用,并且整体方案设计不好,这样只加一下SE也是起不到作用的。SE的特色是代码虚拟化,建议关键代码一定要用SE做虚拟化处理。将一部分核心代码放入加密狗中,要有非线性的输出,然后软件这边相关的代码用SE做虚化处理,这样结合起来用,效果会相当好。
现在国内做应用软件的大环境就这样,搞破解的人很多,好不容易做的软件被别人很容易就盗版了,谴责也并不能解决实际问题,人家该破解还是破解,所以只能做好反破解方案,从技术上防止盗版。 |
|