MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 【求教】单机版软件限制使用日期的方法,大家都来讨

【求教】单机版软件限制使用日期的方法,大家都来讨论下!该如何处理

www.MyException.Cn  网友分享于:2015-08-26  浏览:56次
【求教】单机版软件限制使用日期的方法,大家都来讨论下!
RT,
做单机版的,怕的就是用户修改系统时间,或BIOS时间,
有什么好的方法,希望牛人们启发下。

------解决方案--------------------
Mark
------解决方案--------------------
在系统里面找个地方自己保存一下软件的上次使用时间和最后到期时间,每次打开软件,如果时间不在这两个时间范围内,就退出
比如上次使用时间和到期时间分别是A和B,B的值是在软件安装的时候就记录的,永远不会改变。如果他改成小于A,那就退出了,每使用一次,A的值就更靠近B,他没办法做手脚

为了防止用户找到你记录时间的文件删除或者修改它,你可以加密,在每次程序启动的时候都判断这个文件在不在,是否被修改,有任何异常就退出



------解决方案--------------------
日期加密写入一个自己的配置文件等,每次程序解密读取...
------解决方案--------------------
加密等方式防止被修改
------解决方案--------------------
方法本质也就是一个,将时间变量存储在某个机密的地方.然后每次启动时检测时间变量是否符合要求.
不同的是可以将时间变量存储在不同的地方,例:配置文件,数据库,组册表,甚至存储在以太网中.
------解决方案--------------------
要是采用 拦截获取系统时间的api破解方法 ,保存就没啥意思了
------解决方案--------------------
判断时间这些不是好办法。
不如获得网卡和MAC地址,运行一个注册授权程序,然后你程序记录使用次数就是了。
------解决方案--------------------
你的软件中处理的数据是否有日期相关的信息。如果有就利用数据中的日期不能大于一定的日期来控制。
------解决方案--------------------
探讨
如果每次运行软件前,把时间都改成A,怎么办?

------解决方案--------------------
探讨
引用:
你的软件中处理的数据是否有日期相关的信息。如果有就利用数据中的日期不能大于一定的日期来控制。

有,当然有,就是怕人家就把时间改在你安装的日期,怎么也大不了

------解决方案--------------------
安装时记录一个时间,假设为A,每次运行之后关闭时将当前时间记录下来,假设为B,运行时判断当前时间,如果时间值在A到B之间,或是在A之前,就说明修改了时间。
------解决方案--------------------
探讨
引用:
引用:
如果每次运行软件前,把时间都改成A,怎么办?

这还不简单啊!每次程序关闭的时候肯定更新一下这个配置文件,这个时间就成了A1了,而且肯定比A大,更靠近B
你还可以再综合当前系统时间做判断,还可以用个定时器实时检测,办法很多,就看你的精力多,还是破解的人精力多了


还有个问题,比如最后退出程序时间为12月5号12点1分5秒,记录这个时间,今天12月20号,在登录前,修改系统时间到12月5号13点,还是可以用的。。。。。。

------解决方案--------------------
备份下配置文件不就白更新了?
------解决方案--------------------
每启动一次记录一次时间,与上次记录的时间比较,如果不在同一天,则天数加1,这样可以防止修改系统时间使软件天数限制不起作用的问题
------解决方案--------------------
探讨
引用:
你的软件中处理的数据是否有日期相关的信息。如果有就利用数据中的日期不能大于一定的日期来控制。

有,当然有,就是怕人家就把时间改在你安装的日期,怎么也大不了

------解决方案--------------------
没有服务器的话。。。不是很好搞。。。。
破解比较容易点


------解决方案--------------------
限制软件使用次数
------解决方案--------------------
写文件?可以用OD下断CreateFile获取文件名。写注册表?可以用OD下断RegOpenKey取键名。
就算你手段再高明,我装完后备份一下你加密的文件或注册表,然后做一个Loader,此Loader功能是首先还原你的加密文件(这样什么时间接不接近的都白搭),然后以暂停方式启动原Exe,ApiHook掉你取系统时间的函数,做一个时间差再返回,最后Resume,这样一切时间判断都白搭了,而且还不用去破解Exe。
单机的想做到完全防破是不可能的,找个硬壳加上算啦,可以干掉很多人。

------解决方案--------------------
弄个加密狗算啦,也可以干掉很多人,那天有人发私信跟俺说加密狗5元一支。。。。。。。。

------解决方案--------------------
保存一个总时间T1(有效时间段),
每次程序开始运行时开始计时,程序结束时计算进程用了多少时间T2,T1 = T1-T2,将新的T1保存起来
好像最后一次有点问题,要不每小时取一次还剩余多少时间

还有就是限制下使用次数,可用50次,每用一次减掉一次

文章评论

Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
一个程序员的时间管理
一个程序员的时间管理
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
总结2014中国互联网十大段子
总结2014中国互联网十大段子
鲜为人知的编程真相
鲜为人知的编程真相
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员都该阅读的书
程序员都该阅读的书
程序员必看的十大电影
程序员必看的十大电影
老程序员的下场
老程序员的下场
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
编程语言是女人
编程语言是女人
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
如何成为一名黑客
如何成为一名黑客
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
漫画:程序员的工作
漫画:程序员的工作
每天工作4小时的程序员
每天工作4小时的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
中美印日四国程序员比较
中美印日四国程序员比较
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
 程序员的样子
程序员的样子
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
那些争议最大的编程观点
那些争议最大的编程观点
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
旅行,写作,编程
旅行,写作,编程
为什么程序员都是夜猫子
为什么程序员都是夜猫子
我的丈夫是个程序员
我的丈夫是个程序员
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
代码女神横空出世
代码女神横空出世
程序员的鄙视链
程序员的鄙视链
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有