解决无限debugger总结

基本工具

1: Notepad(修改保存) + ReRes(插件替换) ReRes安装教程
2: Fidder + 编程猫 + hook

情况

  1. fidder基本:fidder插件使用hook构造器, 例如下
//配合编程猫专用工具进行hook
(function() {
'use strict'

//过瑞数 debuger
var eval_ = window.eval;
window.eval_ = function(x){
	eval_(x.replace("debugger;", "   ;  "));
	}
	
//过瑞数debuger检测
window.eval.toString = eval_.toString;
})();
  1. reres基本:把js存到本地,找到debugger删除替换,保存,然后用reres替换映射运行。
    注意: 替换debugger相同空格来替换,即8个空格

  2. Js代码中夹杂多个debugger:js代码中夹杂多个debugger,因为是字符串,直接拿出来删掉,同样用reres替换映射即可

  3. debugger存放html中:在debugger的js代码被注入到html网页中,这里用fidder,打开里面找到【fidder脚本】,里面找到函数 OnBeForeResponse 添加响应体替换,如图:

在这里插入图片描述

  1. debugger被js函数拼接: js代码中debugger没有关键词,是被混淆后用拼接的形式执行。找到debugger js拼接代码,扣出来,全局搜索拼接代码,找到最近的{},把里面的debugger拼接代码全部删掉,保存用reres替换映射即可

  2. 多层文件debugger叠加 (重要!!!) : js文件可能有好几层文件,文件实质上内容都是一样的,但是文件名,文件类型可能不一样,有的可能是虚拟机,js文件,js文件名中少部分名称更改的两层js文件。
    解决方法也是一个个文件查找到删除,然后用reres去替换映射,只是多加了几层文件来混淆

  3. debugger 在定时器 (setlnterval) 中 ,使用hook去过滤。代码如下:

setInterval_back = setInterval
setInterval = function(a,b){
	if(a.toString().indexOf('debugger')== -1){
		return null;
	}
setInterval back(a, b)
}
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值