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

[油猴脚本开发指南]实战4399flash反无限debugger反反开发者调试

[复制链接]
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 193 天

    [LV.7]常住居民III

    710

    主题

    5881

    回帖

    6704

    积分

    管理员

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

    积分
    6704

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

    发表于 2022-11-3 21:51:35 | 显示全部楼层 | 阅读模式

    前言

    突然无聊想搞个4399的swf下载脚本
    然后发现4399已经搞的非常恶心了
    大概有无限debugger+ob混淆+反开发者窗口打开+来路校验balabalabala
    已经不是我童年的白月光了~
    正好还算是比较基础又对新手有一点挑战
    所以决定记录一下

    开始

    目标网址
    https://www.4399.com/flash/90302_3.htm
    首先他禁止打开了开发者工具
    一般会对key的键值进行阻断
    也就是f12 Ctrl+Shift+I
    我们通过右上角的工具-》更多工具-》开发者工具,即可打开
    图片.png
    因为他大部分代码还是没花的
    所以直接搜f12的键值 123
    找到了keydown的监听
    图片.png
    jq的代码是使用的addeventlistener
    那我们直接对其进行劫持,因为我观察只有两个keydown,也就是截图中的两个
    所以直接无脑过滤就行了

    // @run-at       document-start抢先注入哦
    let oldadd = EventTarget.prototype.addEventListener
    EventTarget.prototype.addEventListener = function (...args) {
        if (args[0] === 'keydown') {
            return;
        }
        return oldadd.call(this, ...args)
    }

    这样就解除了f12的问题
    然后发现存在无限debugger
    直接卡在了这里
    图片.png
    观察使用了setinterval函数
    那直接对setinterval函数做劫持
    将传入的函数用toString字符化然后搜索特定的字符串,如果搜到了就不进行调用

    let inter = unsafeWindow.setInterval
    unsafeWindow.setInterval = function (func, time) {
        if (func.toString().indexOf('clearInterval(_windon_handler)') !== -1)     {
            return
        }
        return inter.call(this, func, time)
    
    }

    这处过了之后发现上方还有一个
    使用setinterval定时回调,并在下方也调用一次,那我们思路还是比较简单的
    图片.png
    直接对setinterval劫持,并且检查是否存在check,如果存在,则提前用Object.defineproperty冻结掉属性
    完整代码如下

    let inter = unsafeWindow.setInterval
    unsafeWindow.setInterval = function (func, time) {
        if (func.toString().indexOf('check()') !== -1) {
            Object.defineProperty(unsafeWindow, "check", {
                value: () => { },
                writable: false,
                configurable: false
            });
            return
        }
        if (func.toString().indexOf('clearInterval(_windon_handler)') !== -1) {
            return
        }
        return inter.call(this, func, time)
    
    }

    这样我们就可以正常打开f12并不存在debugger了~
    开始愉快的分析吧
    图片.png

    结语

    撒花~

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

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

    [LV.7]常住居民III

    305

    主题

    4162

    回帖

    4034

    积分

    管理员

    积分
    4034

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

    发表于 2022-11-3 22:04:09 | 显示全部楼层
    就是这篇文章发表失败了么?
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情

    前天 22:05
  • 签到天数: 308 天

    [LV.8]以坛为家I

    12

    主题

    63

    回帖

    641

    积分

    荣誉开发者

    积分
    641

    荣誉开发者生态建设者

    发表于 2022-11-3 22:11:28 | 显示全部楼层
    当冥想的日子飞逝,喧嚣的日子把我们唤去,且在此地留下些微的痕迹
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 193 天

    [LV.7]常住居民III

    710

    主题

    5881

    回帖

    6704

    积分

    管理员

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

    积分
    6704

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

    发表于 2022-11-3 22:16:07 | 显示全部楼层
    朱焱伟 发表于 2022-11-3 22:11
    [md][4E99.com脕仩♀滒滒茬線琓SWF](https://ruffle.rs/demo/)[/md]

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

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-16 15:40
  • 签到天数: 276 天

    [LV.8]以坛为家I

    115

    主题

    460

    回帖

    996

    积分

    荣誉开发者

    积分
    996

    荣誉开发者油中2周年卓越贡献生态建设者油中3周年

    发表于 2022-11-3 22:56:26 | 显示全部楼层
    直接鼠标移动url地址上按F12就可以了
    接脚本定制
    I frequently record, because want to leave something.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 193 天

    [LV.7]常住居民III

    710

    主题

    5881

    回帖

    6704

    积分

    管理员

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

    积分
    6704

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

    发表于 2022-11-3 23:10:07 | 显示全部楼层
    wwwwwllllk 发表于 2022-11-3 22:56
    直接鼠标移动url地址上按F12就可以了

    我草
    学到了
    社会啊
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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