佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1589|回复: 42

请问goatstudio,关于software trial version问题

[复制链接]
发表于 4-8-2006 01:27 PM | 显示全部楼层 |阅读模式
我帮公司做了一个软件,并也做了一个trial version软件,trial period是14 days。当user first time installation时,我是读取电脑的时间,然后store进.txt,之后每一天compare。但考虑到user能够更改电脑的时间,所以这方法行不同。想问一问你,有什么方法user cant change the computer time,或是你曾经有做过trial version software的经验,是否能和大家分享。。谢谢。。
回复

使用道具 举报


ADVERTISEMENT

发表于 4-8-2006 02:56 PM | 显示全部楼层
当每一次用户用这软件的时候, 记录下来每一个时间, 这样就知道用户最后一次用的时间. 你可以把这些时间储存在 text 或 registry, 当然还要 encrypt 起来.
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:03 PM | 显示全部楼层
那是不是代表说如果user最后一次login date < user电脑的时间,那就证明user更改了时间。。请问我这样推测对吗。。。请问要如何compare date。。。
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:13 PM | 显示全部楼层
我不是很明白.for example,user install the software on 3/8/2006,this date store in text file,user use this software again on 4/8/2006,then this date also store in a text file to record user last date to use the software.Let say on 31/8/2006,user use this software again,and sure that he/she cant use,because 14 trial period over already,but user can change their computer time to 15/8/2006.so my question is like this,the last date for the user use that software is 4/8/2006,then user change their computer date from 31/8/2006 to 15/8/2006,so they still can use the software,because the first day user install software is 3/8/2006...so i din understand what is ur meaning...can explain to me by provide some example.thanks
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:16 PM | 显示全部楼层
其实我想过要做window services,当user install软件之后,一个timer也会auto install to computer directory,当用户一开电脑,那么电脑时间将自动record去timer。。可是这在我能力范围之外,不知道你有做过类似这样的window services。。。。。。
回复

使用道具 举报

发表于 4-8-2006 03:19 PM | 显示全部楼层
原帖由 fannwong 于 4-8-2006 03:16 PM 发表
其实我想过要做window services,当user install软件之后,一个timer也会auto install to computer directory,当用户一开电脑,那么电脑时间将自动record去timer。。可是这在我能力范围之外,不知道你有做过类似 ...


你这样做也许会有 anti virus 或类似 spybot 的东西探测到.
回复

使用道具 举报

Follow Us
发表于 4-8-2006 03:28 PM | 显示全部楼层
原帖由 fannwong 于 4-8-2006 03:13 PM 发表
我不是很明白.for example,user install the software on 3/8/2006,this date store in text file,user use this software again on 4/8/2006,then this date also store in a text file to record user last dat ...



首先, 我得说, 会有漏洞存在.

根据以上的情况:

1. 安装于 3/8/2006, 时间记录在 3/8/2006 13:00
2. 运用于 4/8/2006, 时间记录在 4/8/2006 18:00
3. 运用于 31/8/2006, 时间超出, 被弹出来.
4. 修改时间去 15/8/2006, 于是时间记录在 15/8/2006 15:00 -> 破绽
5. 当用户再尝试修改的时候, 他只可以修改最后一次的时间之前的... -> 会越来越少

目前来说, 除了获取 motherboard 的时间外... 我暂时没办法解决... 至于要如何获取 motherboard 的时间... 我也没办法...

唯一可以提议的是, 也许除了时间, 也可以限制用户用的次数.
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:30 PM | 显示全部楼层
原帖由 goatstudio 于 4-8-2006 02:56 PM 发表
当每一次用户用这软件的时候, 记录下来每一个时间, 这样就知道用户最后一次用的时间. 你可以把这些时间储存在 text 或 registry, 当然还要 encrypt 起来.


那你可以解释以上的论据,我还抓不到它的用途。。谢谢..
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 4-8-2006 03:33 PM | 显示全部楼层
谢谢你的分享,我已经明白您的意思了。现在最保险的方法是做windows services和读去motherboard的时间。我会在想一想
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:36 PM | 显示全部楼层
谢谢你的分享,我已经明白您的意思了。现在最保险的方法是做windows services和读去motherboard的时间。我会在想一想
回复

使用道具 举报

 楼主| 发表于 4-8-2006 03:43 PM | 显示全部楼层
请问你有类似windows services的资料吗,读取电脑时间。。
回复

使用道具 举报

发表于 4-8-2006 04:22 PM | 显示全部楼层
你可以尝试这方法。
如果你的软件有储存资料的,用 RecordCount() <= 300。

-----

对于电脑时钟,我也是没办法,我遇过一个捣蛋的用户(比较会玩电脑)就很会钻这弱点。
回复

使用道具 举报

 楼主| 发表于 4-8-2006 05:10 PM | 显示全部楼层
差点忘了还有白日梦版主。。哈哈。。readcount()没有帮助,因为我没有store data...。。谢谢。。

[ 本帖最后由 fannwong 于 4-8-2006 05:24 PM 编辑 ]
回复

使用道具 举报

发表于 4-8-2006 05:33 PM | 显示全部楼层
七楼的方法很好。。。

把第一次安装的时间和最后一次运行的时间纪录起来。。。

假设,在run的时间小过install时候或last used的时间时,那么就表示user尝试修改时间。。。

其实,不一定需要用window service。。。
直接作program放在startup就可以了。。。或放在registry run key里。。。
这样的话,每次restart电脑,你的程序就会运行。。。window里的时间跟motherboard的时间是一样的。。。

最难的是,如何把run program的时间纪录在电脑。。。

如果,纪录在registry里,他们用system restore就可以把资料洗掉。。。

如果,记录在硬碟,他们format电脑就行了。。。

不过,我有听过一种程序,即使format电脑之后,(在你的trial period用完之后),它也不让你用。。。
回复

使用道具 举报

 楼主| 发表于 7-8-2006 12:30 PM | 显示全部楼层
请问要怎样不让user manual delete registry key??。。
通常run-->regedit,那么他们可以delete registry key,有什么vb.net command可以阻止吗??

我想到的idea是,每当user start computer,date store in registry key(sure it's registry folder cant delete),然后当用户驱动software时,就拿install date和registry key的date比较。。那么就不用怕用户改日期。。
回复

使用道具 举报

发表于 7-8-2006 12:48 PM | 显示全部楼层
楼主你的问题是怕别人hack你写的软件。

我可以很坦白告诉你,你的做法是能够挡着普通级数的用户。同样的,Application 是在 OS Kernel 上运行。当使用者是很熟悉操作系统的人你就没办法挡。

怕被修改 registry key 就唯有放弃用它。

以前就曾利用修改日期这弱点来达到无限期使用某 shareware 直到它被取代为止,不过不鼓励这么做。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 7-8-2006 05:25 PM | 显示全部楼层
请问当insert registry key之后,那registry key 要怎样可以run at windows start up??我的registry key是store date,when user start their computer,the date will be automatically store in registry key,how should i perform this action..the following is my code

Dim regKey As RegistryKey
        regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", True)

        regKey.SetValue("Date", System.DateTime.Now)
        regKey.Close()

i try to install on pc,but when i restart my computer,the date in registry key not updated.
回复

使用道具 举报

发表于 7-8-2006 06:21 PM | 显示全部楼层
小章鱼一般是记录两个时间:安装时间和最后一次执行时间。

fannwong CurrentVersion\Run 是指向可执行程式,
没有程式是不执行的。
你必须指向你的程式,然后用你的程式来更新。
回复

使用道具 举报

发表于 7-8-2006 11:48 PM | 显示全部楼层
原帖由 fannwong 于 7-8-2006 05:25 PM 发表
请问当insert registry key之后,那registry key 要怎样可以run at windows start up??我的registry key是store date,when user start their computer,the date will be automatically store in registry key,how ...


这样写已经错了.

另外这样做的话, 很容易被防毒软件误以为是 spyware, spybot 就是其中之一.
回复

使用道具 举报

发表于 7-8-2006 11:49 PM | 显示全部楼层
原帖由 fannwong 于 7-8-2006 12:30 PM 发表
请问要怎样不让user manual delete registry key??。。
通常run-->regedit,那么他们可以delete registry key,有什么vb.net command可以阻止吗??

我想到的idea是,每当user start computer,date store in ...


你只要储存的时候 encrypt, 那么即使 delete 了也没有用... 因为软件肯定可以探测到出了问题.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-11-2024 07:59 PM , Processed in 0.132365 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表