请问:怎样限制软件使用次数??(VB)

rrqx 2002-04-17 05:44:04
想在程序中加入限制使用次数的代码.解决如下:先在程序中生成一个文件,里面保存了预先定义的使用次数,每使用一次程序,将修改此文件(次数减一),可以做到到达使用次数后,终止程序.问题是:怎样做出一个补丁程序,可以修改使用次数,要求限制在一台计算机上使用.我知道可以利用硬盘信息加密,但要给使用方补丁程序.所以我猜想只能在第一次使用此补丁程序时,修改此补丁程序,让当时的硬盘信息记录在此程序中.具体实现怎么做到??请各位大虾给我个建议.如果您有别的解决办法,请给出好么?100分赠送!!
...全文
1735 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaohua 2002-04-18
  • 打赏
  • 举报
回复
搭个便车:
正如楼上这位说的,如何解决这个问题?前面几位提高的注册表和硬盘的监视程序
不直如何实现,如何做到的。能否提供一个程序给我试试?谢谢啦。

可以肯定的是:D版三国群英传3是些了一些信息在C盘的。我装了一个还原精灵,
再去玩三国群英传3(我把它装在e盘)。三次后我再还原C盘就可以用了。
rrqx 2002-04-18
  • 打赏
  • 举报
回复
我想到一个办法了,干脆限制他只能使用软盘安装.软盘由我方出,初次运行程序(在我方运行)时在.EXE尾加入此磁盘A的信息(应该唯一),然后程序运行时开始自动看此时的A盘信息和程序尾的信息是不是一致,不一致则不执行;一致执行完后自动删除此信息(回写A盘),这样就可以了,是不是啊
_liang_ 2002-04-18
  • 打赏
  • 举报
回复
我买了一张D版三国群英传3,玩三次就提示不是藏经阁的,我倒注册表不行
查找系统被写的加密信息也找不到,不知是怎么加的密?
qaymuic 2002-04-18
  • 打赏
  • 举报
回复
有一个不是办法的办法:
就是软件每一次安装时都必须经过你的同意,那就是你在自己的机器上建立一个数据库,只要付过钱的人你就给他一个用户名和密码。并在数据库中建立一个“硬盘信息”字段。
你给用户的软件是一个指导安装的软件,这个软件运行之后,要求用户输入用户名和密码,然后将用户名和密码与数据库做比较,如果不符,返回错误。如果相符,有两种选择:
1。如果数据库的硬盘信息字段不为空,证明用户已经安装过,用此硬盘信息重写程序,发送给用户。(如果用户的硬盘信息与此不符,此重写的程序自然无法运行)
2。如果数据库的硬盘信息为空,证明此用户是第一次安装,要求安装软件获取硬盘信息,发送给你的机器,然后写入数据库,再按照第一点来做。
这样做以后,就可以保证每个付款只能在同一块硬盘上多次安装你的软件。换了硬盘就无法安装。但是,如果用户的硬盘损坏,他再安装时就不得不用其他的方式(例如email)请求你修改数据库。清空“硬盘信息”字段,允许用户重新安装。

至于控制使用次数,相当简单,可以将使用的次数写入注册表或其他文件。每运行一次,将此次数减一。需要注意的是:这个文件或注册表信息,要在第一次运行时由程序动态产生,防止用户卸载时删除该文件或注册表信息。这样,只要用户运行过一次你的软件,这个文件或注册表信息将永远留在用户的机器中(如果遇到狡猾的用户手工删除就没有办法了,就好象用户如果格式化了硬盘,你当然无法再计算他已经使用了多少次)。用户卸载以后再装,只要软件能找到这个文件或注册表信息,它仍然可以连续计数。
cz 2002-04-18
  • 打赏
  • 举报
回复
比如软件使用次数信息是放在某个地方,你的布丁程序修改这个信息,
但是要满足一定条件,就是这台计算机是认证过的计算机,
你既然知道得到硬盘信息,就可以将硬盘信息作为用户名,
然后你通过一定算法生成一个注册码,你的补丁程序可以得到硬盘信息,
运行时,需要用户输入注册码,
只有获得正确的注册码的用户才能使用补丁程序。

注册码由你生成。
中间有些信息要加密。
rrqx 2002-04-18
  • 打赏
  • 举报
回复
是小程序,但老板要求做到 限制使用 次数,而且还不是在网上发布.你想怎么做得到啊,安装盘和补丁都要给别人啊,是不是 只有靠加密狗 ,不过我也不知道是什么东东哦,解释下先哦.还有我还不知道怎么送分,给点提示先,别打我头啊!!!
pcman1990 2002-04-18
  • 打赏
  • 举报
回复
这个问题要真正有个解决方案是太难了,道高一尺,魔高一丈,连微软自己也没有很好的方案。不过骗骗一般的用户,上面的一些办法还是可以的,就看你的软件的性质和使用对象了。
cz 2002-04-18
  • 打赏
  • 举报
回复
我认为把使用次数的信息保存在客户的当地计算机是不可靠的,使用次数
的信息要保存在用户没有办法删除、修改的地方,如网络上的服务器,
但是一般的软件没有这样的条件。
就是这样做了,如果有人修改你的二进制代码,不去访问服务器,使你的次数检查机制失效,这样也是没有用的。

这就是做软件的悲哀。
tuying2 2002-04-18
  • 打赏
  • 举报
回复
防盗版到是蛮好的。
cz 2002-04-18
  • 打赏
  • 举报
回复
关于记录软件使用次数的问题,
无论是将信息记录在硬盘、注册表,都是没有用的,
高级一点的用户可以把计算机环境恢复到安装你的软件
以前的状态,他可以将你记录软件使用信息的数据,甚至
是你软件运行留下来的痕迹全部清除,重新安装一下你的软件,
然后又可以使用N次。

不要认为将信息写在注册表、硬盘地隐蔽地方是安全的,就像
111222(www.mozilla.org)所说的那样,他可以1分钟就破解掉,
现在有很好用的注册表、硬盘等监视工具。

gzwy 2002-04-18
  • 打赏
  • 举报
回复
我看还是用 微软的 “软件激活技术”吧。
zxj_casere 2002-04-18
  • 打赏
  • 举报
回复
在程序中加入一个数据库,其中建一个表。用于保存安装的时间和已经使用的次数等信息。
在启动程序时先比较数据库中的数据。
超过时就不启动。没有则给次数加一。
verybigbug 2002-04-18
  • 打赏
  • 举报
回复
提供注册码呀,根据机器的硬盘编号,生成一个唯一的注册码。
安装时根据他的信息告诉他注册码,这样,他在另外一台机器
上安装时就需要新的注册码了,他就得通知你。
不要让别人帮你做出注册机哦!!!算法要足够复杂!!

什么好东西,得化这么多精力??
大部分人还生怕别人不用自己的程序。
i8210 2002-04-18
  • 打赏
  • 举报
回复
想交几个南京的VC高手!(不是高手也没关系)E_MAIN:i8210@163.com、i8210@elong.com
Congy 2002-04-18
  • 打赏
  • 举报
回复
靠!换台机器所有的办法都不行!!!
rrqx 2002-04-18
  • 打赏
  • 举报
回复
我试了 在一个 .EXE文件中 尾写入一个字节,再用 FILELEN 检查,文件大小没有变,是不是 这种检查 方法不对,还是没有 回写!!
lithe 2002-04-17
  • 打赏
  • 举报
回复
两步:
1.程序运行时先删除自身(.exe文件),具体方法可以在网上很多地方找到
2.再将自身(.exe文件),写到硬盘上,这时你就可以修改自己了,在写自身(.exe文件)的同时,将使用次数等信息写到自身(.exe文件)的某个位置,可以是资源里(具体方法可以在网上很多地方找到),直接写到文件尾应该也不影响.exe文件的使用。
penny_xc 2002-04-17
  • 打赏
  • 举报
回复
你可以试试在程序安装时加一个口令,这样可以限制在不同的计算机上安装。
111222 2002-04-17
  • 打赏
  • 举报
回复
我靠,我有监视注册表的程序。破解你不用1分钟!
oldmonsterman 2002-04-17
  • 打赏
  • 举报
回复
注册表中的键值要加密,放在不引人注意的地方
加载更多回复(6)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧