JS逆向必备:这款插件能Bypass Debugger、Hook CryptoJS、抓取路由
AntiDebug_Breaker
请勿利用文章内的相关技术从事非法渗透测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具和内容均来自网络,仅做学习和记录使用,安全性自测,如有侵权请联系删除。
项目地址在文章底部哦
Intro
本插件是基于Hook_JS库所写的Google插件,将致力于辅助前端JavaScript逆向以及渗透测试信息收集。
如何提交您自己的脚本:AntiDebug_Breaker wiki
教学视频
反调试:https://www.bilibili.com/video/BV1gQ4mzMEA4
Vue:https://www.bilibili.com/video/BV12148z7EnP
Hook CryptoJS对称加密 快速出key、iv、mode、padding:https://www.bilibili.com/video/BV1MPW1zDEK8
JS逆向快速定位加密位置以及获取加密密文等加密参数:https://www.bilibili.com/video/BV1cRyXBaEJX
插件安装
将源码下载到本地后打开chrome,访问chrome://extensions/,点击左上角的加载未打包的扩展程序,然后选中源码文件夹即可: 
脚本使用场景
AntiDebug
-
Bypass Debugger -
hook log -
Hook table -
hook clear -
hook close -
hook history -
Fixed window size -
页面跳转JS代码定位通杀方案 -
Hook CryptoJS -
Hook JSEncrypt RSA
Hook
-
document.cookie -
XMLHttpRequest.setRequestHeader -
XMLHttpRequest.open -
localStorage.setItem -
localStorage.getItem -
localStorage.removeItem -
localStorage.clear -
sessionStorage.setItem -
sessionStorage.getItem -
sessionStorage.removeItem -
sessionStorage.clear -
fetch -
JSON.parse -
JSON.stringify -
Promise -
Math.random -
Date.now
Vue
-
获取路由 -
清除跳转 -
清除路由守卫 -
激活Vue Devtools
反调试
-
Bypass Debugger
该脚本用于绕过无限Debugger,目前引起无限Debugger的三种核心方式为:
eval
Function
Function.prototype.constructor
本脚本通过 Hook 以上核心函数有效绕过大部分前端无限 debugger。但因 eval 作用域问题,某些网站可能会报错。此时可切换至火狐浏览器无视debugger进行调试。
注:极少数网站可能采用特殊反制措施(如故意引发eval作用域问题或其他问题),导致前端报错或依然能引起debugger,这种情况需针对性解决。总体而言,本脚本能覆盖绝大多数场景。
-
hook log
-
Hook table
频繁调用console.clear清除控制台数据
控制台频繁输出大量内容
进行完以上两种操作后直接使用location.href进行跳转,一般跳转到主域名为github.io的网站。
如存在以上特征的网站,均可尝试使用本脚本去进行绕过。
-
hook clear
禁止js清除控制台数据。
脚本原理:JS逆向系列10-反调试与反反调试
-
hook close
重写close,以此来避免网站反调试关闭当前页面。
脚本原理:JS逆向系列10-反调试与反反调试
-
hook history
避免网站反调试返回上一页或某个特定历史页面。
脚本原理:JS逆向系列10-反调试与反反调试
-
Fixed window size
innerHeight:660innerWidth:1366outerHeight:760outerWidth:1400
-
页面跳转JS代码定位通杀方案
-
Hook CryptoJS
-
Hook JSEncrypt RSA
Hook
-
document.cookie
-
XMLHttpRequest.setRequestHeader
-
XMLHttpRequest.open
-
localStorage.setItem
-
localStorage.getItem
-
localStorage.removeItem
-
localStorage.clear
-
sessionStorage.setItem
-
sessionStorage.getItem
-
sessionStorage.removeItem
-
sessionStorage.clear
-
fetch
-
JSON.parse
-
JSON.stringify
-
Promise
-
Math.random
-
Date.now
Vue
-
获取路由
-
清除跳转
-
清除路由守卫
-
激活Vue Devtools
📖 项目地址
https://github.com/Xcaiji6/AntiDebug_Breaker
💻 威胁情报推送群
如果师傅们想要第一时间获取到最新的威胁情报,可以添加下面我创建的钉钉漏洞威胁情报群,便于师傅们可以及时获取最新的IOC。
如果师傅们想要获取网络安全相关知识内容,可以添加下面我创建的网络安全全栈知识库,便于师傅们的学习和使用:
覆盖渗透、安服、运营、代码审计、内网、移动、应急、工控、AI/LLM、数据、业务、情报、黑灰产、SOC、溯源、钓鱼、区块链等 方向,内容还在持续整理中……。






夜雨聆风
