[油猴脚本开发指南]实战4399flash反无限debugger反反开发者调试
# 前言突然无聊想搞个4399的swf下载脚本
然后发现4399已经搞的非常恶心了
大概有无限debugger+ob混淆+反开发者窗口打开+来路校验balabalabala
已经不是我童年的白月光了~
正好还算是比较基础又对新手有一点挑战
所以决定记录一下
# 开始
目标网址
https://www.4399.com/flash/90302_3.htm
首先他禁止打开了开发者工具
一般会对key的键值进行阻断
也就是f12 Ctrl+Shift+I
我们通过右上角的工具-》更多工具-》开发者工具,即可打开
![图片.png](data/attachment/forum/202211/03/214547wk4j0d7n4vbqkj4s.png)
因为他大部分代码还是没花的
所以直接搜f12的键值 123
找到了keydown的监听
![图片.png](data/attachment/forum/202211/03/214652lnf1gg9ry4u0y1p6.png)
jq的代码是使用的addeventlistener
那我们直接对其进行劫持,因为我观察只有两个keydown,也就是截图中的两个
所以直接无脑过滤就行了
```javascript
// @run-at document-start抢先注入哦
let oldadd = EventTarget.prototype.addEventListener
EventTarget.prototype.addEventListener = function (...args) {
if (args === 'keydown') {
return;
}
return oldadd.call(this, ...args)
}
```
这样就解除了f12的问题
然后发现存在无限debugger
直接卡在了这里
![图片.png](data/attachment/forum/202211/03/214802cittu715w17mew7c.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](data/attachment/forum/202211/03/214928lmjwycfjwjjymrqz.png)
直接对setinterval劫持,并且检查是否存在check,如果存在,则提前用Object.defineproperty冻结掉属性
完整代码如下
```javascript
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](data/attachment/forum/202211/03/215113qy9qt6nwrjjva9rn.png)
# 结语
撒花~
就是这篇文章发表失败了么? (https://ruffle.rs/demo/) 朱焱伟 发表于 2022-11-3 22:11
(https://ruffle.rs/demo/)
爱了~ 直接鼠标移动url地址上按F12就可以了 wwwwwllllk 发表于 2022-11-3 22:56
直接鼠标移动url地址上按F12就可以了
我草
学到了
社会啊
页:
[1]