| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2411 人关注过本帖
标题:注册码的问题
只看楼主 加入收藏
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
结帖率:91.22%
收藏
已结贴  问题点数:10 回复次数:6 
注册码的问题
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

我们是做试验机的,为了防止客户不给钱,需要做个扣子,
比如软件先让客户用1个月,如果客户不给钱,软件就不能用了,上位机软件弹出一个窗口,
要求注册,要求提供授权码。然后如果客户给了钱,输入授权码,就可以继续使用产品。
可是这个如何实现呢?我的意思是,产品发到客户那里,上位机软件和下位机都在客户那里,
那个授权码怎么产生等一系列问题怎么解决?请大神告知,谢谢!
搜索更多相关主题的帖子: 注册码 客户 软件 要求 授权码 
2019-07-05 08:38
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:0 
有人说要联网,用服务器,那可太麻烦了。
不用服务器可以吗?
2019-07-05 10:38
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:232
专家分:240
注 册:2016-2-14
收藏
得分:3 
根据设备ID按一定规则产生一个“申请码”显示在弹出窗口中,让用户将申请码发给你,在根据申请码按固定规则产生注册码发给用户,用户输入注册码后程序自动进行匹配。
2019-07-05 11:41
深秋2015
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:412
专家分:1544
注 册:2015-10-13
收藏
得分:3 
不用服务器也可以,把到期时间写进注册表,不过容易被破解,用户修改了注册表就可以破解试用期限的限制。

服务器端限制是最可靠的,每次打开软件都要到服务端检测,过期或没注册的直接不让启动

从此以后我都不敢抬头看
仿佛我的天空失去了颜色
2019-07-05 11:45
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:0 
回复 4楼 深秋2015
谢谢!到期时间我可以用下位机实现,那就可以不用服务器了吧?
2019-07-05 12:02
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:4 
如果下位机,一定是最新的时候,那时间可以用下位机实现。

注册码的话,弄一个自定义的编码规则,自己根据 设备ID(硬盘序号,或者什么硬件编号都可以)生成。
举一个例子:如定义一个 N位的字符串,然后把取的设备ID,按一定的规律,附加进去,或换掉指定位的字符,最终生成一个新的字符串
然后拿这个字符串,MD5(32)运算(或Hash),甚至可以把运算中的常量,自己换掉。
最后取其中的若干位,起始位置和长度自己定,不要写变量,写成全局变量或根据ID的某种规律来生成。
注册码的比较,也是一个问题,防爆破,一个是不要直接比较注册码,一个是加壳。但加壳会带来一个问题,容易被误报毒。
不直接比较注册码,一种思路,按字节做运算,确保正确时运算结果为0,然后最后把结果加起来,这个运算过程不能放在判断是否成立注册的位置,离的越远越好。保存到一个变量中去。然后在某些运算过程中,使用这个变量叠加进去。
如,某个过程初始化,
X=5
写成 X=5+变量
如果注册码完成相同,这个变量的值为0,得到了结果正确。
如果修改跳转,通过的验证,但因注册码不对,那么这个运算得到了 变量不为0,得到了X值就偏差很多了。
   如果X是画图的某个点的坐标,那么看到的结果就是这个点偏离正确的位置了。

以上都是自己的相法。没去实践过。


授人于鱼,不如授人于渔
早已停用QQ了
2019-07-05 13:12
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:0 
注册码的比较,也是一个问题,防爆破,一个是不要直接比较注册码,一个是加壳。但加壳会带来一个问题,容易被误报毒。
不直接比较注册码,一种思路,按字节做运算,确保正确时运算结果为0,然后最后把结果加起来,这个运算过程不能放在判断是否成立注册的位置,离的越远越好。保存到一个变量中去。然后在某些运算过程中,使用这个变量叠加进去。
如,某个过程初始化,
X=5
写成 X=5+变量
如果注册码完成相同,这个变量的值为0,得到了结果正确。
如果修改跳转,通过的验证,但因注册码不对,那么这个运算得到了 变量不为0,得到了X值就偏差很多了。
   如果X是画图的某个点的坐标,那么看到的结果就是这个点偏离正确的位置了。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
谢谢版主。你说的我不太明白,还有那个加壳是什么意思?
2019-07-05 13:41
快速回复:注册码的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016309 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved