Office中国论坛/Access中国论坛

标题: 这个程序能真正意义上限制软件30天试用吗? [打印本页]

作者: lussee    时间: 2007-11-11 10:29
标题: 这个程序能真正意义上限制软件30天试用吗?
请问:以下这个程序能真正意义上限制软件30天试用吗?
'限制软件30天试用

Dim ReValue As Date '声明时间变量
Dim name As String '声明字符串变量,软件名称
Dim dd As Variant '声明数值变量,dd为日期差

name = "gggg" '给变量赋值软件名为gggg


ReValue = GetSetting(name, "MainKey", "DateValue", Date) '读取注册表软件名gggg的键值,如果没有则为当前日期
Me.Text1 = ReValue
dd = DateDiff("d", ReValue, Date) '计算日期差
Me.Text2 = dd

If dd = 0 Then '如果是第一天运行
    SaveSetting name, "MainKey", "dateValue", Date '写注册表
End If
If dd > 30 Then
    MsgBox "软件已过期"
Else
    MsgBox "软件可以试用"
    'DoCmd Quit
    MsgBox "还剩下" & 30 - dd & "天试用期!"
End If
               如果用户将计算机系统时间往前调整天数,那么用户就可以无限制地使用软件了,请问如何修改该程序,才能真正地绝对限制软件30天试用。谢谢!
作者: liwen    时间: 2007-11-11 10:56
既然是共享软件,一般很难做到绝对的限制的,有几种方法可以加强一下,如多在几个位置记录第一次使用的信息(在注册表之外,另外使用文件记录之类的),在注册表中的存储也采用加密的开始日期,并且,判断时不是用>30而是>30或<0即终止使用,另外有些程序还存储上次使用日期(这个都不重要了),再加上一句,如果是第一次运行,则将数据恢复到初始状态的语句,也就是说,当用户删除了注册表的相应记录,就恢复到程序的初始状态等之类的操作.
作者: lussee    时间: 2007-11-11 14:59
liwen:你好!请问如何编写加密的初始时间的编码?你可以具体地帮我编写完整的真正可以限制软件30天使用的程序吗?盼复。谢谢!
作者: goto2008    时间: 2007-11-12 08:48
关注.................
作者: pengkuo    时间: 2007-11-13 01:07
方法是挺不错的哦!!!
作者: hauting    时间: 2007-11-14 13:02
感觉在这个问题上纠缠太多没太大的意义,微软的系统一样被人破解,但仍有大量正版用户
作者: tz-chf    时间: 2007-11-14 15:31
和微软不一样,你做的软件就一个或几个用户,能不能保证用户付钱意义就大了。
作者: hi-wzj    时间: 2007-11-15 11:02
1、装上几种限制方法。比如写注册表;写独立文件中,写在表中再加权限;加在数据库属性中;查看文件的更新日期等等。系统运行时读出所有的日期值,然后以其中的最大日期值做是否过期的判断,同时同步更新所有的日期值。这样除非破解的人找到并同时改小了这几个的日期值才有可能破解,这样难度就大大增加了。
2、不仅仅在启动窗体中运行检验(容易被跳过),在程序的核心代码运行前也捆绑检验。
3、我的专栏中有单种限制方法的例子可供参考。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3