大神论坛

找回密码
快速注册
查看: 416 | 回复: 0

[思路] web逆向之干掉游戏网站的反调试

主题

帖子

0

积分

初入江湖

UID
647
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:42
发表于 2023-11-25 11:05
本帖最后由 vlricchen 于 2023-11-25 11:05 编辑

有些网页游戏网站为了防止玩家破解,加入了一些反调试。

如图所示,一旦进入开发者模式,就会不断的触发断点,无法正常调试。
查看网站js,发现其实就是执行了一些开发者模式的处理。

这个js文件在请求时,参数带了随机数字,导致直接下断点不可用。我尝试了几种方法。
1,在setInterval函数内下断点,然后单步执行回来之后,用控制台将js定义的几个函数都定义为空。可以解决问题,但是每次打开都要执行一次,很麻烦。
2,使用浏览器开发者模式的override功能,同样由于参数带了随机数字的问题,override替换只能同名替换,导致脚本没有替换掉。
3,使用浏览器插件实现override功能。

插件我弄的谷歌浏览器的插件,其他浏览器插件估计也有类似功能。
谷歌浏览器插件有个declarativeNetRequest  api,可以对请求进行一些修改性的操作,可以参考 https://developer.chrome.com/docs/extensions/reference/declarativeNetRequest
我的插件也是按照里面的例子程序改的。

主要就这几个文件。

manifest.json 是插件描述文件。
rules_1.json 是declarativeNetRequest api的规则文件。
AntiindulgenceDisableToolsUTF8.js  是我修改后的网站js脚本。就是把里面内容都删了。
service_worker.js 是插件的后台脚本。就是在规则命中时写了个控制台日志,这个应该不是必须的。

manifest.json

rules_1.json


这样当插件加载后,在进入这个游戏网站,网站的反调试脚本就会被插件替换为空文件,不会再影响调试。


注:若转载请注明大神论坛来源(本贴地址)与作者信息。

返回顶部