日期:2014-05-18  浏览次数:20875 次

防破解,大家有什么好的办法?
大家好,我想问一个关于共享软件防破解的问题,由于以前没有这样的经验,昨天晚上看了大量的防破解的方法,结果很让人绝望,因为防破解是在是太难了。但是从目前来看,大多数人都说网络验证比较好一些,所以我也打算这么做,具体的想法是这样:

程序方面(c#),只做一个代码混淆就行了,程序启动后,连接服务器先做注册码验证,注册码是直接写到程序里再给客户的,然后同时提取本机硬件特征码(如硬盘ID)去服务器认证。

服务器方面:服务器首先接收认证注册码,如果数据库里没有这个,则没注册,就不发回关键代码给程序,程序也不能使用。如果存在这个注册码,则检查硬件id,如果这个和上次的不一样,则认定程序不是在上回的机器上启动的,写入数据库并做记录,每个注册码允许在3台不同的机器上启动,如果超过3台了,则将这个注册码作废。

主要的思路就是这样,程序里的几个关键代码都是去服务器认证后获取的,如果没有这几个代码,程序就不能运行,不知道这样行不行,希望大家给点意见。

------解决方案--------------------
基本上认证注册、以及使用远程服务,目的不是什么“防破解”,目的是为了更好地识别用户身份、保存大量用户私人定制信息、提供更好的使用体验。

是因为确实需要服务器端处理,而不是单单为了什么“防破解”的目的才把功能放在服务器端。
------解决方案--------------------
试用版和完全版 
必须购买注册码后,才发送完全版。然后你的思路为辅。
没有破解不掉的程序,只有挖掘不出更多功能的demo版
------解决方案--------------------
有一个好办法,就是确保你的软件足够垃圾,没有什么价值。因为破解者一般对这样的软件不感兴趣。
------解决方案--------------------
道高一尺魔高一丈,微软开发的Windows都能破解,自己做的费尽心思防破解也没意义。凑合着做了就行了,剩下的就看用户自觉了。我就属于不自觉的人。