游客系列之四:注册机制与破解(转贴CNSW)

游客系列之四:注册机制与破解

国庆,喝了半瓶茅乡宴,52度,没醉,闲着没事,继续游客系列。

除非你故意想让破解者破解你的软件,或者对破解根本不在意,不然对防破解还是花一点心思的。不过故意要破解者破解软件的也可以看这篇游客系列,浪费不了你的时间——反其道而行即可。

防破解比之两年之前容易多了——我感觉,因为大家都浮躁多了,做技术最忌讳浮躁,搞破解的既然宣称他们是在搞技术,那么这两年因为浮躁,技术下降了不少。之前阿达也发过帖子分享防破解经验,我悄悄应用了,发现很实用,最近也没有搜索我的软件的破解版情况,因为我自己也发布破解版,不过根据注册情况来看,应该是没有注册机出现。

有一个论调是没有破解不了的软件,这在理论上是成立的,在实际情况下是不成立的。在实际情况下,至少有100种方法阻止破解。因为破解者是人,是人就不是完美的,针对人的弱点所做的防破解措施非常有效,因为至今为止尚未发现有神加入到破解者行列。

废话少说,具体列几个防破解措施,可能是老掉牙的措施了,我只是告诉你,老掉牙的东西管用,就像喝酒就能头晕一样,你甭管俗不俗,反正会达到轻飘飘的感觉。

1、成熟的加密算法
比如RSA加密算法,私匙作为注册机产生注册码,软件中用公匙解密,破解者没有私匙,就无法做注册机keygen,破解者有没有办法找到你的私匙?有,比如窃取你的源代码或者把刀架在你的脖子上或者是他破解了rsa算法,在拿到诺贝尔数学奖的同时顺便破解了你的软件。这些加密算法难不难?不知道,网上源代码多了,拿来一用就可以,安全性嘛,数学家们没什么异议,游客也没有异议。

2、暗桩
军事上叫暗哨,游击队没少用了,毛主席可以证明暗哨的作用。很多人在用这个方法,屡试不爽。明枪易躲,暗箭难防,老祖宗早就总结出经验来了。具体在软件验证中,就是多设几个只有自己知道的验证条件,比如在你生日的那一天验证一下(自恋狂的作者让破解者伤透脑筋了:靠,作者生日我怎么知道,我跟他又不熟),这是防止爆破的最好的方法,前面的方法可以防止注册机,这个方法就是为了防止爆破,除非破解者跟你是孪生兄弟,心电感应,否则他永远也无法知道你的暗桩,当然这个方法对有孪生兄弟做破解的人不适用。

3、勤搜索
注册机也没有了,爆破也不完全,有人发布注册码怎么办,搜索,然后屏蔽,配合自动升级,发布注册码也没有用。

4、网络验证
不管你软件类型是不是跟网络有关,你的软件传播途径主要还是靠网络吧?既然这样,网络验证就是可行的,随便写个asp或php的验证程序,破解者要破解就麻烦多了。

5、自己发布破解
软件发布了,居然没有破解,郁闷,自己发布个破解吧,珠混鱼目,焉能辨我是雌雄?

5、什么防破解措施都没有用的时候
游客又在纸上谈兵,说的这些都没什么用,都很容易被破解,那么很遗憾,你的软件不应该发布在地球上,试试在火星上发布软件如何?