| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4314 人关注过本帖, 2 人收藏
标题:一个关于要求用户注册(保护程序版权)的VB6示例
只看楼主 加入收藏
贸易飞飞
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2015-5-4
收藏(2)
 问题点数:0 回复次数:14 
一个关于要求用户注册(保护程序版权)的VB6示例
如何防止程序被未注册用户使用,或者,程序当中的某些功能,被未注册用户使用?

    当然,是要求用户在启动程序时,输入密码口令啦。

    问题是,这种方式(用户名+程序序列号),可以大家公用序列号呀。
    这个行为,相信大家都或多或少地干过吧。

    于是,聪明的中国人发明了机器码技术(呵呵,没查询过,姑且把功劳都归功于国人吧)。

    但知道了机器码,如何为机器码制作注册码呢?
    很简单,使用数字签名技术:
    用户把机器码发给作者,作者对机器码进行数字签名,回传给用户。
    用户程序以签名进行验证,如果注册码与机器码相同,则注册是正常的。

    当然,这种作法也还是简单了点,别人很容易拦截,如果有人有了一个正常的注册码,在已经注册的机器上,对机器码进行拦截记录,然后,在未注册的机器上,拦截机器码的读取过程,在程序读机器码的时候,把原来记录下来的机器码提供给程序,就可以通过验证啦。因为机器码与注册码是一一对应的,用旧的机器码,自然能对应得上旧的注册码啦。

    事实上,许多破解程序,也正是这么干的。

    所以,直接使用机器码进行验证,也不是很高明的方法。

    所附的示例,不是直接验证机器码与注册码是否匹配,而是用机器码、注册码混合后,生成了一些程序当中的参数。
    如果用户提供了虚假的注册码,程度不会马上显示出异常来,但运行结果却可能(实际上是“肯定”)是异常的。



    本次上传的示例原理说明:
    这是一个摄氏、华氏、K氏温度换算的函数(示例,当然很简单明了),其中用到1.8/273.15两个参数。
    这两个数值没有直接写入到程序当中。
    如果用户正常注册,程序可以用机器码与注册码计算出这两个数值来。
    如果注册码有误,机器码与注册码不匹配,当然参数就出错,计算结果也出错啦。
反盗版(注册)示例.rar (300.04 KB)
搜索更多相关主题的帖子: 中国人 输入密码 用户名 序列号 注册码 
2015-05-04 18:00
贸易飞飞
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2015-5-4
收藏
得分:0 
当然,些例对于高人来讲,破解并不困难,因为本例去去读硬盘的机器码,只要在程序当中监测到读硬盘序列号的动作,然后进行拦截,输入已经注册的机器的硬盘号与注册码,即可。

    实际当中,肯定不能如此简单。

    其实,机器当中,有许多是固定的(硬件)和相对比较固定的(通常与操作系统、大程序有关)的信息。如:
    除了硬盘,其他的硬件通常也很少换的,一年升级不了几次的,内存、网卡、CPU、主板、显卡、声卡……凡是硬件,通常都是比较稳定的信息。
    还有,硬盘分区的大小(有可能高格分区,但很少人去低格的),操作系统、WORD、计算机名、组名……这些,也都是不太会变动的,比较稳定的信息。

    只要开支脑筋,还有许多,也欢迎大家跟帖,还有那些不太变动的数据?

    这么多的信息,如果破解者不知道你使用了哪个数据,想一一找出来测试,是有点难度的。
2015-05-05 18:57
Linyulin2002
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-6-6
收藏
得分:0 
下来试试,OK

[ 本帖最后由 Linyulin2002 于 2015-6-10 11:14 编辑 ]
2015-06-10 10:21
Linyulin2002
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-6-6
收藏
得分:0 
请教:注册dll
图片附件: 游客没有浏览图片的权限,请 登录注册
怎么处理?
2015-06-10 11:47
Linyulin2002
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-6-6
收藏
得分:0 
回复 4楼 Linyulin2002
搜索错误代码已解决
2015-06-10 12:10
中南红叶
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2015-3-12
收藏
得分:0 
请问:我将此软件复制多份,连同取得的注册码分别给予多人使用者,行吗?
2015-06-12 11:34
Linyulin2002
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-6-6
收藏
得分:0 
回复 6楼 中南红叶
不行,一台机对一个注册码。
2015-06-12 12:42
adffdda
Rank: 2
等 级:论坛游民
帖 子:98
专家分:15
注 册:2015-1-6
收藏
得分:0 
不错,已下载
2015-10-22 22:34
taozl
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2007-9-14
收藏
得分:0 
下了。理解下注册及硬件序列号方法
2015-11-08 09:15
cclhw
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-12-18
收藏
得分:0 
好东西,谢谢分享。
2015-12-18 23:38
快速回复:一个关于要求用户注册(保护程序版权)的VB6示例
数据加载中...
 
   



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

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