这怎么解决?
我的方法(同时使用DES和RSA加密算法,用DES加密算法验证假注册码,目的是为了欺骗Cracker,用RSA验证真正的注册码):
1.取用户硬盘Serail Code.(建议取CPU ID,但我不知如何取),取用户名无法防止一码通用。
2.自己做一注册机,用私钥进行硬盘Serail Code RSA加密,生成注册码。如:
C8J35noAXNOhBoOueXlXqweKo6Y7EbEE3UUHOJIdSYclc5zDdEU1Uq
3.用户得到注册码后,将注册码输入软件注册码输入框,用户点确定后执行一段垃圾代码(多多使用goto语句让Cracker晕头转向,此举可以拦住一般 水平的Cracker),垃圾代码之后调用DES加密算法计算假注册码(假注册码是指用Des加密算法的注册机生成的注册码)的正确性(水平高一点的 Cracker会跟踪到这里),若注册码正确则显示注册成功,Cracker跟踪到此处就会认为破解成功,随及制造注册机发布,其它真正的注册码验证还在 后头呢。
4。把用户名和注册码存入注册表。
5。软件下次启动时,读入注册表中的用户名和注册码到变量。
6。启动DES代码验证注册的正确性
7。无用的goto代码
8。验证DES注册码。
9。软件继续启动。
10。启动完毕
用RSA加密算法作为合法注册码的验证算法,采用单独的线程,每十分种验证一次,如果RSA注册码不正确但DES正确,则sleep一天或两天(千万不要死机或破坏用户数据,这样用户会认为你的软件质量有问题,Cracker最怕的是等待)。
用这种方法,从理论上讲,Cracker不可能做出真正的注册机,因为他无法知道私钥,只可能使用暴力破解之法(也就是改exe),但是找断点很困难,所以很难破解。