| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖, 1 人收藏
标题:帮忙!!!做个程序使得软件激活或失效?
只看楼主 加入收藏
knight24
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-6-21
结帖率:50%
收藏(1)
已结贴  问题点数:10 回复次数:6 
帮忙!!!做个程序使得软件激活或失效?
做个程序使得做的软件激活或失效?时间是对象,例如使用软件30后,就失效了,需要输入激活码才能继续运行!反复如此!!!
搜索更多相关主题的帖子: 激活码 软件 
2013-07-23 21:42
岁月如刀
Rank: 6Rank: 6
来 自:冰冻星球
等 级:侠之大者
威 望:7
帖 子:165
专家分:477
注 册:2013-7-21
收藏
得分:4 

加密呗~

将使用次数和一些硬件信息(例如:MAC、CPU序列号、硬盘序列号==)写到一个License文件里~~~然后每次启动都检查一下。。

Share一下:以前我做过一个,把%temp%的文件创建时间读出来,然后与目前的系统时间对比下~~~呵呵,你懂得~~~

Now. Game over.
2013-07-23 22:43
knight24
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-6-21
收藏
得分:0 
那我修改系统时间是不就又登陆成功了??
2013-07-24 11:04
岁月如刀
Rank: 6Rank: 6
来 自:冰冻星球
等 级:侠之大者
威 望:7
帖 子:165
专家分:477
注 册:2013-7-21
收藏
得分:0 
以下是引用knight24在2013-7-24 11:04:38的发言:

那我修改系统时间是不就又登陆成功了??

那你把第一次加载License的日期时间写入License文件,下次加载的时候对比一下,如果时间比现在的时间戳小了,明显就代表客户改过时钟嘛~那你就BLOCK。。。。


Now. Game over.
2013-07-24 12:58
knight24
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-6-21
收藏
得分:0 
先谢过!!!!有没有部分程序呢?时间紧,任务重,哎!
2013-07-24 15:26
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:4 
用vb简易注册表读写来完成,不懂得注册表修改的还是能起到作用的,拷贝下列代码即可
Private Sub Form_Load()
  Dim a As String, t1 As Date, t2 As Date, j As Integer
  a = GetSetting("我的注册", "时间", "第一次运行", "错误")
  If a = "错误" Then
    '表明是第一次运行,则注册第一次运行时间和递进时间戳
    SaveSetting "我的注册", "时间", "第一次运行", Now
    SaveSetting "我的注册", "时间", "每次运行", Now
    Exit Sub
  End If
  t1 = a  '将第一次运行的时间赋值,第一次运行时间只在注册表中写一次
  a = GetSetting("我的注册", "时间", "每次运行", "错误")
  If a = "错误" Then
    '如果有第一次运行时间却没有每次运行时间,说明有认为修改注册表嫌疑,
    '此处可加个恶意修改注册,每次运行读该值以判断是否被恶意修改,如有则直接退出即可
    MsgBox "恶意注册错误,程序永不运行"
    End
  End If
  t2 = a  '将每次运行的时间赋值,该注册表值每次运行时均记录
  j = DateDiff("d", t1, Date) '将当前时间减去第一次运行时间
  If j > 30 Then
    MsgBox "试运行时间到,请购买正版程序"
    End
  End If
  If t1 > Now Or t2 > Now Then
    MsgBox "恶意修改系统时间,系统不运行"
    End
  End If
  '一切正常则记录此次运行时间
  SaveSetting "我的注册", "时间", "每次运行", Now
  msgbox "距离试用期结束还有" & str(30-j) & "天"
End Sub


[ 本帖最后由 lowxiong 于 2013-7-25 10:17 编辑 ]
2013-07-25 10:11
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
收藏
得分:4 
建议使用加密码,我以前做过一个注册的,说一下我的思路仅供参考!
①采集电脑设备序列号-->序列号后再添加几个自己设定的密码-->整合后对每个序列号逐个加密-->把生成的序列号加密后串联起来组成一个长加密字符串-->写入注册表

②采集电脑设备序列号-->序列号后再添加自己设定的密码逐个加密-->读取注册表-->分解加密字符串-->解密分解后的字符串-->逐个对照采集到的设备序列号加密后是否与注册表中字符串解密后的相同,相同就通过

例如:
CPU   主板   硬盘   显卡
123   456    789    000

将各个序列号后面加个任意字符,加多少随意,比如:CPU增加 123ABCD
                                                主板增加456ABCD
下面分别对序列号加密,我一通MD5加密的 比如加密123ABCD 生成一个16位加密码  ksjdhfdhdncmcjkj 其他类推
然后把加密码串起来
生成一个注册码
写入注册表
每次软件启动读取注册码,没有注册码就表示没有注册
如果有就解密注册码与本机设备采集到的数据的加密字符串对比,相同就通过,不相同就表示未注册

考虑到如果有个别设备会更换,比如硬盘损坏了,换了硬盘后序列号就会变化加密后的字符串就无法通过

我是用计数方法判断通过了几个序列号,比如一共采集了5个设备序列号,我只要有一个对比通过就表示已注册,当然也可以设置成2个或3个
当然,这样也会出现这样的问题,有人会把注册过的电脑分尸了,重新组装几台电脑,这样每个电脑就会拥有一个以上可以通过检测的序列号,当然这样一个注册码也只能使用有限的几台电脑。
不过不排除使用软件更改设备序列号来通过注册对比。

学习--------------学习-------------------学习--------------------!!
2013-07-25 12:29
快速回复:帮忙!!!做个程序使得软件激活或失效?
数据加载中...
 
   



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

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