触摸精灵吧 关注:11,847贴子:44,852

【教程】网络时间限制的实现

只看楼主收藏回复

对于加密脚本,除了串号绑定,通常还需要进行时间限制。如果使用系统时间,则用户可以通过修改系统时间来达到延长使用时间的目的。因此,我们可以采用网络时间来进行限制,下面就来介绍下网络时间限制的实现。
注意,本教程适合有一定基础的人看,建议先看“简易网络验证的实现”:http://tieba.baidu.com/p/3699579718
。
在“简易网络验证的实现”中,我们提到使用网页记录串号,然后进行验证。但是,往往仅记录串号是不够的,除非脚本一经授权永久使用。如果想进行时间限制,则不仅需要记录串号,还需要记录到期时间。如果当前时间还没到到期时间,则正常执行,如果到期了,则提示并退出脚本。

其中,"ABCDEFG“代表记录的串号,20150514代表到期时间为2015年5月14日,中间用英文分号隔开。这里只是一种写法示范,大家可以采用其它的记法,不过脚本也需要进行相应的改动。


1楼2015-04-14 11:07回复
    触摸精灵实现:


    3楼2015-04-14 12:27
    回复
      2026-10-10 20:23:31
      广告
      不感兴趣
      开通SVIP免广告
      为了方便观看,贴出源码:
      -------------------------------------------------------------------------------------------------------
      function main()
      --获取页面源码
      data = httpGet("http://url.qmail.com/pM0U2Ze1")
      --获取网络时间
      netTime = getNetTime()
      --检查页面源码及网络时间是否获取成功
      if data == "" or netTime == -1 then
      badNet()
      end
      --获取设备串号
      id = getDeviceID()
      --在页面中匹配串号与时间
      flag, year, month, day = string.match(data, "("..id..")"..";".."(%d%d%d%d)(%d%d)(%d%d)")
      --串号验证,如果没找到则验证失败,否则检查是否到期
      if flag == nil then
      ban()
      else
      tt = os.date("*t", netTime)
      if tt.year > tonumber(year) then
      timeOut()
      else
      if tt.month > tonumber(month) then
      timeOut()
      else
      if tt.day > tonumber(day) then
      timeOut()
      end
      end
      end
      end
      --验证成功,继续执行后续的脚本
      notifyMessage("验证成功,执行后续的脚本", 3000)
      end
      --脚本到期
      function timeOut()
      notifyMessage("脚本已到期!", 3000)
      os.exit(0)
      end
      --网络故障
      function badNet()
      notifyMessage("验证失败,请检查网络连接!", 3000)
      os.exit(0)
      end
      --脚本未授权
      function ban()
      notifyMessage("验证失败,脚本未授权!", 3000)
      os.exit(0)
      end


      4楼2015-04-14 12:36
      收起回复
        好文章受教了,不过QQ邮箱生成网页的有效期只有3个月。


        5楼2015-04-14 16:45
        收起回复
          这个程序的主要难点在于在页面中匹配串号与时间、检查是否到期,主要是string.match()、os.date()的用法,这两个函数的用法非常丰富,大家可以自己查阅相关资料,多加练习进行掌握。


          6楼2015-04-14 17:25
          回复
            老大。这样F78LR8YRFFHP;20150513为什么发提示脚本到期,


            7楼2015-04-17 00:45
            回复
              逻辑写错了!


              8楼2015-04-17 02:04
              回复
                求大神该怎么写


                9楼2015-04-17 12:28
                回复
                  2026-10-10 20:17:31
                  广告
                  不感兴趣
                  开通SVIP免广告
                  串号获取失败返回null


                  IP属地:四川来自Android客户端10楼2015-04-18 12:15
                  回复
                    很不错哦,参考学习了!谢谢


                    IP属地:浙江11楼2015-04-18 13:37
                    回复
                      不错,学习了。


                      IP属地:广东12楼2015-04-18 18:08
                      回复
                        厉害


                        IP属地:山东来自Android客户端13楼2015-04-19 08:27
                        回复
                          怎么才能知道用户的串号?
                          我才能记录上去。


                          14楼2015-04-25 00:33
                          收起回复
                            智能啊
                             ✎﹏﹏
                            这是一条能打出【龍涅槃卬車馬妳瞭蠶惇£】的小尾巴
                            就是辣么的吊!  


                            IP属地:广东来自Android客户端15楼2015-04-25 11:33
                            回复
                              2026-10-10 20:11:31
                              广告
                              不感兴趣
                              开通SVIP免广告
                              话说 手指ID是什么意思???


                              16楼2015-04-25 19:09
                              收起回复