上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 李恒道 - 

时间网站setinterval无法劫持分析

[复制链接]
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    633

    主题

    5173

    回帖

    6052

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6052

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-3-12 00:02:40 | 显示全部楼层 | 阅读模式

    前文

    很多人都好奇时间网站为什么setinterval失效无法劫持了

    http://time.tianqi.com/

    这里我们实战一下如何分析这个网站

    图片.png

    我们知道秒一直在改变

    找到对应节点

    右键,设置发生中断条件,子树修改

    图片.png

    会在这里断下,这里推荐用chrome浏览器,其他浏览器因为自身问题可能无法查看源代码,如ff

    观察堆栈发现

    图片.png

    这里现在变成了setTimeout来进行反复调用

    再观察代码

            NewTick();
    
            // s=nyear+'年'+nmonth+'月'+nday+'日 '+'星期'+cweekday(nwday)+' ';
            document.getElementsByClassName("hour_box")[0].innerHTML=shapetime(nhrs);
            document.getElementsByClassName("minute_box")[0].innerHTML=shapetime(nmin);
            document.getElementsByClassName("seconds_box")[0].innerHTML=shapetime(nsec);
            setTimeout("Draw()",500);
    

    每次赋值之后设置Settimeout在500ms后进行下一次Draw的自身回调

    结语

    破案~

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    慵懒
    2023-11-28 11:18
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    16

    主题

    153

    回帖

    313

    积分

    荣誉开发者

    积分
    313

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-8-14 10:19:56 | 显示全部楼层
    还可能直接是requestAnimationFrame帧动画
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表