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

时间网站setinterval无法劫持分析

[复制链接]
  • TA的每日心情
    无聊
    2022-4-18 01:37
  • 签到天数: 30 天

    [LV.5]常住居民I

    302

    主题

    2583

    帖子

    2651

    积分

    荣誉开发者

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

    Rank: 10Rank: 10Rank: 10

    积分
    2651

    猫咪币纪念章

    发表于 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的自身回调

    结语

    破案~

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。

    发表回复

    本版积分规则

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