V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuboying
V2EX  ›  程序员

如何通过文件系统判断当前的日期

  •  
  •   xuboying · 2016-04-30 21:45:50 +08:00 · 3246 次点击
    这是一个创建于 3121 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想让程序到某个日期以后不可用 希望避免用户通过修改时钟来迷惑程序,而通过文件系统的修改时间来判断某一天已经过了 比如 c:\windows 是否有更多的关键目录可以参考,防止用户通过 touch 单个 Windows 目录来迷惑程序

    或者有其他更好的办法来确定时间

    24 条回复    2016-05-03 17:50:10 +08:00
    publicID002
        1
    publicID002  
       2016-04-30 21:57:36 +08:00 via Android
    联网要求服务器授权呢?
    dphdjy
        2
    dphdjy  
       2016-04-30 22:01:11 +08:00 via Android
    哦~有创意~以前我咋没想到~_(:з)∠)_
    不过然并卵呐~
    直接记录硬件使用时间~
    感觉比较靠谱~
    xuboying
        3
    xuboying  
    OP
       2016-04-30 22:34:08 +08:00
    @dphdjy 直接记录硬件使用时间~ 是何种黑科技?
    xuboying
        4
    xuboying  
    OP
       2016-04-30 22:34:42 +08:00
    @publicID002 不好,被怀疑偷偷联网,或者被 host/fw 干掉
    heyinglongsimon
        5
    heyinglongsimon  
       2016-04-30 22:42:42 +08:00
    额,我刚好跟你需求相反。我倒是有个 license 管理软件,修改系统时间是骗不了的。
    还有我以前用 VM 打包了个系统,软件装在虚拟系统里面,设置了每次打开联网校时, VM 自带的功能。连不上网校时或过期了机不能开机了,也就相当于用不了。
    dphdjy
        6
    dphdjy  
       2016-04-30 22:44:37 +08:00 via Android
    @xuboying 没干过~只是应该可行~
    具体见鲁大师等硬件检测工具
    slixurd
        7
    slixurd  
       2016-04-30 22:47:50 +08:00
    记录一下所有时间就好了,如果发现时间倒回去了就说明有问题。。。。总不能一直用个错误时间吧
    xuboying
        8
    xuboying  
    OP
       2016-04-30 22:55:51 +08:00
    @slixurd 任何写入的文件都可以被用户删除吧,哪怕你偷偷的写,用户也可以用类似 strace 的工具来检测, win 上也有事件监控程序
    xuboying
        9
    xuboying  
    OP
       2016-04-30 22:56:43 +08:00
    @heyinglongsimon 哈哈,如果我想问你要代码估计是不行了,公开了就能被破解了
    tinyproxy
        10
    tinyproxy  
       2016-04-30 23:07:59 +08:00 via iPhone
    这是外包 demo ?
    tinyproxy
        11
    tinyproxy  
       2016-04-30 23:09:02 +08:00 via iPhone
    补充一下,我的意思是防止甲方拿到软件不给钱跑路了
    xuboying
        12
    xuboying  
    OP
       2016-04-30 23:33:33 +08:00
    @tinyproxy 不是外包,想做有时间期限的 beta 版本。
    dapang1221
        13
    dapang1221  
       2016-04-30 23:38:18 +08:00   ❤️ 1
    扫描 TEMP 目录下所有文件,然后取最大的时间,误差应该也不会太大
    sen506
        14
    sen506  
       2016-05-01 00:00:27 +08:00 via Android
    通过文件系统的话,别人用沙盘把你的程序隔离了,然后只允许访问某些特殊的目录怎么破?
    dphdjy
        15
    dphdjy  
       2016-05-01 00:06:13 +08:00 via Android
    实际上~最后基本上都没用~¯\_( •́ω•̀ )_/¯
    好的应用会有破解
    辣鸡试用完就删
    既然原因破解,本身就不应该计入目标客户,酱紫~
    dphdjy
        16
    dphdjy  
       2016-05-01 00:07:13 +08:00 via Android
    (辣鸡输入法
    既然愿意破解,本身就不应该计入目标客户,酱紫~
    nvkou
        17
    nvkou  
       2016-05-01 07:40:15 +08:00 via Android
    pagefile 上次修改時間?
    murmur
        18
    murmur  
       2016-05-01 19:04:59 +08:00
    针对时间的破解不要太简单。。印象最深的就是 cubase7/8 元素系列的 2030 年安装大法。。对,我安装的时候调 2030 ,这样用的时候你怎么检测都是负数时间
    xuboying
        19
    xuboying  
    OP
       2016-05-01 19:29:56 +08:00 via Android
    @murmur 不是已使用天数,是到时间(所有人固定)不可用
    murmur
        20
    murmur  
       2016-05-01 23:17:56 +08:00
    @xuboying 那就只能改系统时间了 顺便破掉你联网。。
    xuboying
        21
    xuboying  
    OP
       2016-05-01 23:34:08 +08:00 via Android
    @murmur 所以我要比时钟更可考的办法,比如 Windows 更新文件时间之类的
    N4HS3zwwKs7wira0
        22
    N4HS3zwwKs7wira0  
       2016-05-02 11:45:53 +08:00
    本地执行理论上是无法获取当前准确时间的。必须要有服务器参与。加密与服务器对下时吧。使用非通用加密算法自己拿 C 实现,不容易被逆向。
    SCaffrey
        23
    SCaffrey  
       2016-05-02 12:50:31 +08:00
    像 matlab 那样必须联网才能用的?
    mcone
        24
    mcone  
       2016-05-03 17:50:10 +08:00
    @SCaffrey matlab 也是破解满天飞。。。。。讲真,如果真有人不计成本来破你这个程序的话,真是基本是无解的……

    楼主这个需求我之前某个项目也遇到过,后来发现我没思路,直接上加密狗了(也就是让别人破解的难度增大一点点而已……)……如果楼主有解决方案麻烦 at 让我学习下哈~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:04 · PVG 14:04 · LAX 22:04 · JFK 01:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.