不联网的情况下,怎么控制一个软件的过期不准使用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
fileinthehole
V2EX    程序员

不联网的情况下,怎么控制一个软件的过期不准使用?

  •  
  •   fileinthehole 2019-09-20 15:57:46 +08:00 21186 次点击
    这是一个创建于 2280 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,想请教各位业界大佬,一个软件给到客户处,客户不联网,时间不会跟着网络时间更新,根据本地时间的话,他可以私自改动时间导致控制不住,开服务的话,服务也可能被关掉吧。想请教一下有没有什么好的控制方式?

    135 条回复    2022-08-19 15:05:01 +08:00
    1  2  
    laravel
        1
    laravel  
       2019-09-20 16:00:10 +08:00
    我刚毕业时候出差给火车站安装的广告机,管理系统需要插 U 盘才能运行,他们的机器有些就不让联网。
    yoshiyuki
        2
    yoshiyuki  
       2019-09-20 16:00:25 +08:00
    软件内部计时
    secretman
        3
    secretman  
       2019-09-20 16:03:08 +08:00
    签名证书加上过期时间戳?
    fileinthehole
        4
    fileinthehole  
    OP
       2019-09-20 16:06:50 +08:00
    @secretman 改时间怎么办?
    fileinthehole
        5
    fileinthehole  
    OP
       2019-09-20 16:07:16 +08:00
    @yoshiyuki 中途软件可能关闭之类的,怎么办?还是有改时间的问题
    fileinthehole
        6
    fileinthehole  
    OP
       2019-09-20 16:07:38 +08:00
    @laravel 插 U 盘是什么原理??
    viko16
        7
    viko16  
       2019-09-20 16:10:58 +08:00 via Android   1
    直接当买断,加钱就好
    fileinthehole
        8
    fileinthehole  
    OP
       2019-09-20 16:11:53 +08:00
    @viko16 就一个自己做的免费小软件,但是领导不想让客户一直用
    qq316107934
        9
    qq316107934  
       2019-09-20 16:12:58 +08:00
    没有任何控制方式,可以考虑通过使用时长进行控制,注意防止数据库被重置。
    lneoi
        10
    lneoi  
       2019-09-20 16:15:35 +08:00
    记录上一次使用日期,如果日期跳跃过大直接禁用
    jadehare
        11
    jadehare  
       2019-09-20 16:16:12 +08:00
    强制联网啊,不联网不给用,或者加个时间判断,先记录个时间,然后看当前时间比记录的时间靠前,就不让上
    newtype0092
        12
    newtype0092  
       2019-09-20 16:19:21 +08:00   2
    记录在可执行文件末尾或者某个用不到的地方,每次运行时修改。
    fileinthehole
        13
    fileinthehole  
    OP
       2019-09-20 16:19:46 +08:00
    @qq316107934 使用时长的话,如果设置 7 天,每天用几分钟,岂不是实际可以使用一年
    fileinthehole
        14
    fileinthehole  
    OP
       2019-09-20 16:20:33 +08:00
    @newtype0092 你这个记录是记录什么?还是可以通过改时间继续使用吧
    fileinthehole
        15
    fileinthehole  
    OP
       2019-09-20 16:21:16 +08:00
    @lneoi 比如我 12:00:00 使用,后来发现过期了,我修改时间为 12:00:01 岂不是又可以用了
    lneoi
        16
    lneoi  
       2019-09-20 16:22:50 +08:00
    @fileinthehole 这描述说明,打开之后才发现过期,没打开之前不知道过期。那不就一过期就设置标志位,使得时间判断无效就行了。
    Buges
        17
    Buges  
       2019-09-20 16:23:03 +08:00
    判断系统时间,发现过期后禁用并写个控制字段然后始终禁用不再检查时间。

    别搞什么奇技淫巧,能挡住普通小白就够了。
    fileinthehole
        18
    fileinthehole  
    OP
       2019-09-20 16:24:29 +08:00
    @Buges 就怕没过期的时候就开始改时间了
    arrow8899
        19
    arrow8899  
       2019-09-20 16:24:40 +08:00
    无解
    newtype0092
        20
    newtype0092  
       2019-09-20 16:25:13 +08:00
    @fileinthehole 记录运行的时间啊,每过 1 分钟或多久写一次,够 7 天就禁止,相当于在本地写个配置文件,只不过按特定的规则直接写在可执行文件里,一般人想不到,想到了不知道规则也改不了,改坏了程序跑不起来了。
    fileinthehole
        21
    fileinthehole  
    OP
       2019-09-20 16:25:57 +08:00
    @arrow8899 我们想了好几种方法,但领导老是给你钻牛角尖,把客户想成高端黑客[/手动白眼]
    Leez088
        22
    Leez088  
       2019-09-20 16:27:00 +08:00
    到期后,卸载掉在安装能用吗
    fileinthehole
        23
    fileinthehole  
    OP
       2019-09-20 16:27:32 +08:00
    @newtype0092 这种就只能控制他一共使用不超过 7*24*60 分钟,但这么多分钟可以分配到一年甚至更久的之间之内
    opengps
        24
    opengps  
       2019-09-20 16:27:49 +08:00
    定期强制要求联网激活,检测到假日期自动删除
    dp2px
        25
    dp2px  
       2019-09-20 16:28:14 +08:00
    你的程序没有计数器(因为会关闭或关机)唯一的计数器( PC 的计时)还会被修改,这样导致你没有可以参考的时间点。但是据说关机后 CMOS 芯片会有电,会保存时间,如果你能拿到这个时间作为参考,每次在用户更改的时候能获取到时间的变化事件,那么从时间角度就可以实现。
    fileinthehole
        26
    fileinthehole  
    OP
       2019-09-20 16:28:28 +08:00
    @Leez088 不用安装的,就一个小软件,也就不存在卸载
    DoubleShut
        27
    DoubleShut  
       2019-09-20 16:28:32 +08:00
    直接写在代码里,每次编译的时候自动生成过期时间,类似于代码生成,过期直接不能使用,联网更新自动打新包给他
    fileinthehole
        28
    fileinthehole  
    OP
       2019-09-20 16:28:50 +08:00
    @opengps 怎么检测到假日期呢
    airfling
        29
    airfling  
       2019-09-20 16:28:52 +08:00
    你自己维护一个计数,这个计数就是时间差,定时保存到数据库或者文件里面,具体做法就是你保存到数据库中的 id 用 uuid+你这个计数的加密编码,你每次读取的时候就判断一下 id,把这个加密编码解密,然后判断这个数字,然后下次存储就是在这个基础上加上已经过去的时间差,你过期就根据这个数字,如果客户问你 id 是怎么设计的,你就说是公司自己设计的一套 id 生成算法,属于保密条例之类的就可以了。这个数肯定是一直增大的,最后无论怎么样,肯定会过期 ,怎么改都没用
    zlhsvc
        30
    zlhsvc  
       2019-09-20 16:29:16 +08:00
    强制要求联网,不然不给用。纯本地了话你校验 bios 时间都能改
    fileinthehole
        31
    fileinthehole  
    OP
       2019-09-20 16:29:34 +08:00
    @DoubleShut 你这个他可以把电脑的时间一直停留在给他软件那天
    qq316107934
        32
    qq316107934  
       2019-09-20 16:30:03 +08:00
    @dp2px #25 BIOS 可以直接修改时间的
    lneoi
        33
    lneoi  
       2019-09-20 16:31:45 +08:00
    @fileinthehole 运行时就不断更新记录时间,增加用户修改时间的麻烦程度。一般用软件调时间,随便调容易超过允许范围,总是设置倒回同一个时间点,记录一下是否多次重复这个时间,是多次则禁用。
    qq316107934
        34
    qq316107934  
       2019-09-20 16:32:52 +08:00
    设备是你们的吗?是的话可以通过锁 BIOS+驱动 /组策略禁止用户修改时间来实现。 不是的话不能通过外界渠道获取信息这个命题就不成立,无解的。
    fileinthehole
        35
    fileinthehole  
    OP
       2019-09-20 16:34:29 +08:00
    @qq316107934 没有设备,就是把一个软件给客户的电脑上用一下,控制一下其他设备,其他设备也是不联网的
    WanzizZ
        36
    WanzizZ  
       2019-09-20 16:34:31 +08:00
    还是判断系统时间,比如每过 10 秒,记录一次当前时间,如果他改时间,那修改以后的时间肯定要比记录的时间要提前,这样直接禁用。
    amaranthf
        37
    amaranthf  
       2019-09-20 16:35:04 +08:00
    每次开启时记录日期+时间,然后关闭时也记录,累加天数就好,比如累加到 30 天就终止使用。
    如果发现某次开启时的时间比上次关闭时的时间还要靠前,那也无所谓,累加 1 天甚至惩罚性地累加两天、三天随你。
    如果要绕过这个策略,就必须每次调整时间为同一天的上一次关闭后的时间,而且还得他确实理解了你这个策略才行。
    如果还想堵上漏洞,那就去查某些系统文件的访问、修改时间。
    buf1024
        38
    buf1024  
       2019-09-20 16:35:11 +08:00
    程序首次启动时,获取客户当前机器时间,程序退出时,程序自己加上刚才获取是时间生成过期的加密时间,生成一个新的程序,将新的程序替换旧的程序即可。程序再次启动时,就可以知道过期时间了。
    WanzizZ
        39
    WanzizZ  
       2019-09-20 16:36:04 +08:00
    如果遇到说时间一直不变的,也直接禁用
    fileinthehole
        40
    fileinthehole  
    OP
       2019-09-20 16:36:07 +08:00
    @WanzizZ 假设我先用了一分钟从 20 号 12:00:00 用到了 20 号 12:01:00,第二天了,感觉快过期了,吧时间改回 20 号 12:00:10s,岂不是又可以用了?
    LokiSharp
        41
    LokiSharp  
       2019-09-20 16:37:44 +08:00
    用个加密狗,加密狗上写死时间
    fileinthehole
        42
    fileinthehole  
    OP
       2019-09-20 16:37:53 +08:00
    @buf1024 不太明白,能详细说明一下吗
    fileinthehole
        43
    fileinthehole  
    OP
       2019-09-20 16:38:41 +08:00
    @LokiSharp 写死时间是什么操作?我把时间一直改成过去某一时间能破么
    lneoi
        44
    lneoi  
       2019-09-20 16:38:53 +08:00
    @fileinthehole 你是一直在更新时间的,多用一分钟记录时间多多跟进一点。
    fileinthehole
        45
    fileinthehole  
    OP
       2019-09-20 16:40:09 +08:00
    @lneoi 那还是可以 10 分钟分到 10 天去用
    Buges
        46
    Buges  
       2019-09-20 16:40:34 +08:00 via Android
    @fileinthehole 那再加一条,每次启动记录当前时间戳,如果比上次小则报错。

    能挡住小白就行,你要是把用户当成高级逆向工程师那怎么搞都白搭,离线运行怎么着都能破解。
    WanzizZ
        47
    WanzizZ  
       2019-09-20 16:41:14 +08:00
    肯定不会,因为我已经记录了 20 号 12:01:00,第二天再把时间改成 20 号 12:00:10,这样是不是记录的时间比系统时间要大。 不过还是不行,只能记录使用时长。
    fileinthehole
        48
    fileinthehole  
    OP
       2019-09-20 16:42:40 +08:00   1
    @Buges 哈哈哈,这句话我也想拿去怼领导,光让人做一些莫名其妙的活,这软件破解了又不能给自己转账,谁没事破解你的小软件嘛
    lneoi
        49
    lneoi  
       2019-09-20 16:43:23 +08:00
    @fileinthehole 你们软件每次只用一分钟的吗?
    fileinthehole
        50
    fileinthehole  
    OP
       2019-09-20 16:44:10 +08:00
    @lneoi 举个例子罢了,可能这次用个几分钟,下次用个几小时,再下次就只是打开瞧一眼就关了呢
    lneoi
        51
    lneoi  
       2019-09-20 16:45:07 +08:00
    @fileinthehole 对嘛,实际只考虑正常使用状况。除非你们软件主要使用频率就是瞧一眼就关,要不然是没问题的。
    imicksoft
        52
    imicksoft  
       2019-09-20 16:45:16 +08:00
    电脑上的文件的时间默认是不是不会大于当前时间?那多找几个文件的时间做依据来判断行不行?
    比如遍历桌面、windows 目录、临时目录中的文件,取出最大的时间,当成最新的时间,如果这个时间大于你想限定的时间就不让用了。
    客户修改了系统的时间设置,但不能修改这些文件的时间,除非客户遍历修改系统中所有文件的时间。
    LokiSharp
        53
    LokiSharp  
       2019-09-20 16:45:20 +08:00
    @fileinthehole #43 你可以在加密狗里记录每次打开的时间,然后估算一下他可能开启的次数,如果发现时间异常或者到达限制就锁死加密狗,提示需要找你们技术支持更新加密狗。
    lneoi
        54
    lneoi  
       2019-09-20 16:46:47 +08:00
    还有就是估算使用次数咯。前面翻了翻 win 下的文件,但没找到会实时更新修改时间的文件,不然可以靠读取系统文件的修改时间作为辅助判断
    loading
        55
    loading  
       2019-09-20 16:47:27 +08:00 via Android   1
    无解
    你做过破解就知道,你用 x 天,破解就用 x 分钟。
    lneoi
        56
    lneoi  
       2019-09-20 16:47:48 +08:00
    你这情况是纯粹依赖外部输入,让用户一点儿便宜不占太难,只要不要占太多便宜,减少自己误判就行了。
    janxin
        57
    janxin  
       2019-09-20 16:54:02 +08:00
    要求用狗,用狗的时钟就可以了
    amaranthf
        58
    amaranthf  
       2019-09-20 16:54:08 +08:00
    啧,看来楼主没看懂,比如用户 1 号 9:00 开启了软件,9:01 关闭了,作为一组,记住,然后用户 2 号 9:00 开启了,你开启的时候就知道累计天数+1。然后他 2 号 10:00 又开启,12:00 关闭,那就不累加,只是记下来。
    然后你发现用户下次开启时,居然是 2 号 9:00,这特么就不对了,果断累计天数+1 (甚至+2 ),同时也把这一条记下来,每组记录排好序,方便下次比较。
    然后下次开启时,你就直接去枚举 C:\Windows\Temp 目录下每一个文件的访问时间,按最晚的来比较。如果发现里面没文件,那再换 c:\$RECYCLE.BIN 之类的,列一个表依次往里面找。
    再下次再换 event log,找里面的各种系统事件记录,总能找到的。
    l00t
        59
    l00t  
       2019-09-20 16:54:20 +08:00   2
    你们软件是开源白盒的吗?如果不是的话,就得默认客户并不清楚你们的计时策略,不用设计得太复杂,能防住简单地修改回时间的就行了。预期客户能搞清你们的策略,还不如预期客户能直接反编译程序在你们判断的位置打个 patch 跳过呢。
    amaranthf
        60
    amaranthf  
       2019-09-20 16:58:19 +08:00
    最后你要觉得用户可能会去专门找人、甚至花点小钱破解你的软件的话,那就去找个最新版的 VMProtect 之类的软件,把刚才提到的所有校验逻辑保护起来,数据保存时也要挖足够的坑来混淆视线。
    3dwelcome
        61
    3dwelcome  
       2019-09-20 16:59:10 +08:00 via Android
    本地定时记录时间到数据库,只增不减,如果发现客户时间异常,就启动自爆程序。
    也就是说,客户只能往后改时间,不能往前改时间。
    zdnyp
        62
    zdnyp  
       2019-09-20 17:03:57 +08:00
    每次运行的时候都记录时间,本次运行的时间不能小于上次记录的时间
    C02TobNClov1Dz56
        63
    C02TobNClov1Dz56  
       2019-09-20 17:05:24 +08:00
    本地计时, 加密写到配置文件和注册表就完事了. 有的软件甚至加密都懒得做.
    antscript
        64
    antscript  
       2019-09-20 17:17:22 +08:00 via iPhone
    1.打开软件 - 检测是否有本地时间记录
    有 - 2
    没有 - 3

    2.检测本地记录时间是否早于系统时间
    是 - 4
    不是 - 5

    3.本地记录当前时间并加密(记录在一个不容易找到的位置)

    4.正常使用,定期执行 3 2

    5.提示系统时间有错,锁定软件
    lilquen
        65
    lilquen  
       2019-09-20 17:25:19 +08:00   1
    既然无法使软件完全做到过期不准使用,那就换个思维;使它破解的成本大于购买的成本就好了?客户一直要改时间来使用这个软件岂不是很烦(干脆买就好了)?
    jimrok
        66
    jimrok  
       2019-09-20 17:28:35 +08:00   1
    如果你的软件跟时间没有关系,确实不好做。但如果软件里需要记录正确时间才能正常工作的,确实好做。改了时间,数据就全乱了。
    momocraft
        67
    momocraft  
       2019-09-20 17:37:45 +08:00   4
    想办法在逻辑里依赖单调增的系统时间,然后合同里写明 因用户环境出错导致的数据错乱你不负责
    Devilker
        68
    Devilker  
       2019-09-20 17:46:20 +08:00
    三分钟的事儿,加个试用期 PE 壳
    smdbh
        69
    smdbh  
       2019-09-20 17:46:44 +08:00 via iPhone
    上 USB,硬件计数
    KevZhi
        70
    KevZhi  
       2019-09-20 17:53:43 +08:00 via iPhone
    又造轮子
    自带时钟和电池的加密狗了解一下?
    mamahaha
        71
    mamahaha  
       2019-09-20 17:57:53 +08:00
    别想了,没好办法,cad 软件公司的实力都是毋容置疑的,但很少见到没被破解的。
    最好的办法就是不联网就没法使用。
    wuhongwei
        72
    wuhongwei  
       2019-09-20 18:00:32 +08:00
    @fileinthehole #21 原文:“@arrow8899 我们想了好几种方法,但领导老是给你钻牛角尖,把客户想成高端黑客[/手动白眼]”
    ======
    回复:z 遇到这种领导是真的难受
    starsriver
        73
    starsriver  
       2019-09-20 18:05:05 +08:00 via Android   6
    adobe 在中国二十年防盗版抗衡,十四个版本换了四次认证方式,不联网自动关闭软件,计时试用,cc 统一认证和在线不定时检查完整性。。

    没有一个不被破解。

    我只能说,你看着办。
    crab
        74
    crab  
       2019-09-20 18:07:18 +08:00
    加壳类的软件都是写注册表,记录首次时间。
    passerbytiny
        75
    passerbytiny  
       2019-09-20 18:07:45 +08:00
    @fileinthehole #37 如果要 7 天变成“每天 5 分钟,总共用好几年”,那么他每次使用后都必须记录当时的时间,除第一次外每次使用前都必须修改系统时间,并且一次错忘了改或改错了都不能犯。如果他经常使用,那么“多次超高精确性”的修改系统时间,是无穷大的成本,要你的软件比火星贵他才值得这么做。(别想着用脚本代替人工,那太容易出错了,何况写脚本也是成本。)如果他只是偶尔使用,那么实际上你并没有任何损失。
    hstdt
        76
    hstdt  
       2019-09-20 18:09:04 +08:00 via iPhone
    说说我的想法,就用本地时间就可以了。设置过期时间,再按照顺序记录启动时间。如果启动时间在过期时间之前来回变,就禁用,让用户联网激活。同时两次启动时间相同也禁用。把用户改时间的成本提高就好了。
    ys0290
        77
    ys0290  
       2019-09-20 18:09:18 +08:00 via iPhone
    打点计数,一小时一点,够数关闭
    viator42
        78
    viator42  
       2019-09-20 18:12:55 +08:00 via Android
    客户端本地保存一个值随时间递减,减到 0 之后软件自动关闭。客户想继续用的话编译一个新的软件包发过去。我上一家就是这么干的
    secretman
        79
    secretman &nbs;
       2019-09-20 18:14:36 +08:00
    首次使用,签名文件就加上开始时间和过期时间,用特殊方式签名就好
    问题在于签名文件会被删掉,注册表也会有问题,时间会被篡改
    这个其实看破解成本对方能不能承受吧
    没有完美的方式~
    参考 surge3 的试用限制,看看能不能有些收获!
    explore365
        80
    explore365  
       2019-09-20 18:16:43 +08:00
    每秒读取系统时间记录一个时间戳,每秒读取系统时间,如果系统时间早于上次时间戳 XX 秒(修改电脑时间了),软件禁用。
    pelloz
        81
    pelloz  
       2019-09-20 18:17:34 +08:00
    随便弄弄,一般的小工具应该不会有人花大精力给你破解,攻与防是需要考虑成本的
    fvckDaybyte2
        82
    fvckDaybyte2  
       2019-09-20 18:19:29 +08:00 via iPhone
    记录使用时间呗,每次开启到关闭时间差,保存本地,累计到多少时间就不让用……
    newtype0092
        83
    newtype0092  
       2019-09-20 18:45:39 +08:00
    如果长时间使用的程序才计时,短时间使用的要记次,或者两者都记,一旦断网你的程序就是一个孤岛,任何外部时间数据都是不可信的,能从内部记录的只有使用时长和使用次数。
    nguoidiqua
        84
    nguoidiqua  
       2019-09-20 18:51:44 +08:00 via Android
    自己固化个起始时间和截至日期,电脑时间不在这个范围就不给用。

    然后,使用时定时记录新的时间,电脑时间早于这个记录时间就不给用。

    这样虽然还可以在退出软件后钻空子,调回退出时的时间以延长使用期,但终究用一次少一次。
    heart4lor
        85
    heart4lor  
       2019-09-20 18:58:44 +08:00
    感觉楼上的方法只有读取加密狗时间可取,否则纯离线的物理机可以恢复到任一时间节点的状态,包括你的可执行程序、系统时间、楼上很多人提的各种记录时间的方法,不管多复杂的方法,物理机状态一回退都直接没用。这样想的话只能靠外部的状态无法回退的加密狗解决
    yoshiyuki
        86
    yoshiyuki  
       2019-09-20 19:01:26 +08:00
    @fileinthehole 要落盘存储
    crazykylin
        87
    crazykylin  
       2019-09-20 19:05:15 +08:00 via Android
    我这个思路你看行不,比如客户要装到某个机器,你们先读取硬盘 smart 信息,把序列号和硬盘运行时间写到软件,设定个硬盘运行到某个时间,软件不能正常打开,换硬盘因为序列号不一致也打不开,客户再牛逼能把硬盘已运行时间改了? 那要是能改的话,没有啥好主意了
    InternetExplorer
        88
    InternetExplorer  
       2019-09-20 19:08:06 +08:00
    银行的 U 盾方案了解一下
    heart4lor
        89
    heart4lor  
       2019-09-20 19:11:08 +08:00   1
    很多人想的把时间或者类似信息写入二进制程序的想法,或者读取系统 tmp 文件时间等等想法,可能没有想到程序本身状态也是可以回退的。最简单的办法,装完之后对全盘做个 GHOST 或这类似的备份,等到有效期过了直接改 BIOS 时间为备份时时间,然后对全盘还原备份。这样的话理论上说还原后整个物理机的状态和刚开始使用程序时的状态一模一样,任何限制方法都没有作用。
    nguoidiqua
        90
    nguoidiqua  
       2019-09-20 19:13:29 +08:00 via Android
    杜绝是不可能的,总之多种方法增加钻空子的麻烦度就是了,可以多种方法混合用。

    至于破解,有能力破解就不会找你们写这种小软件了,找人破解不要钱啊。

    还有,最好的办法就是让他联网,他联网简简单单的事,为什么要自己找麻烦…
    wweir
        91
    wweir  
       2019-09-20 19:28:33 +08:00 via Android
    电脑内部有个特殊的时间,是对主板上的时钟计数得来的,可保证绝对准确。
    不过这个只能计算相对时间,算不出绝对时间
    luopengfei14
        92
    luopengfei14  
       2019-09-20 19:28:54 +08:00 via iPhone
    1、不给联网就报错,不让用。联网验证时间。
    2、限制软件免费使用次数。
    qilishasha
        93
    qilishasha  
       2019-09-20 19:32:32 +08:00 via iPhone
    软件运行时间做计数器,超过设定时间就自动加密数据库和修改类,实践证明很有效
    tennc
        94
    tennc  
       2019-09-20 19:50:14 +08:00
    加壳 试用期 一周 就好了
    westerndream
        95
    westerndream  
       2019-09-20 20:09:53 +08:00
    @heart4lor 来个影子系统
    sdxlh007
        96
    sdxlh007  
       2019-09-20 20:10:46 +08:00
    弄个带计时功能的加密狗不就完了么
    guokeke
        97
    guokeke  
       2019-09-20 20:21:46 +08:00
    记录软件的运行时间,比如每各 5s 累加一次,写的时候加密,再设置一个最长使用时间。
    fxxwor99LVHTing
        98
    fxxwor99LVHTing  
       2019-09-20 20:41:05 +08:00
    @fileinthehole 弄一个倒计时,但计时为零的时候,软件的使用受到限制。
    fxxwor99LVHTing
        99
    fxxwor99LVHTing  
       2019-09-20 20:43:23 +08:00
    @starsriver

    哈哈,这个可以开心一下了。
    shfanzie
        100
    shfanzie  
       2019-09-20 20:53:20 +08:00
    加密狗啊
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1312 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 17:08 PVG 01:08 LAX 09:08 JFK 12:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86