Js逆向2:反调试

outman
14
2025-06-08

反调试

防止他人调试,动态分析自己的代码

检测调试方法

-无限Debugger技术

-键盘监听(F12)

-检测浏览器的高度插值

-检测开发者人员工具变量是否为true

-利用console.log调用次数

-利用代码运行的时间差

-利用toString

-检测非浏览器

绕过技巧:

  1. 禁用所有断点:大概率绕过,但自己也不能用断点了(ಥ_ಥ)

  2. 禁用局部断点:找到debugger---右键---一律不在此处断点(never pause here)

  3. 设置条件断点:找到debugger---设置断点---右键---修改断点---false


以上可以碰碰运气,以下三种方法更好

替换文件执行(最常见,使用最广,纯手工)

  1. 找到反调试代码:可以利用爆出的禁止提示,全局搜索,找到相关的禁用功能的函数,对有这个函数的 js 进行替换

  2. 替换准备:源代码下有一个替换---选择防止替换项的文件夹---启用本地替换勾选

  3. 替换开始:有debugger的js右键---替换内容---删除 debugger 部分---刷新

  4. 要是还没成功:再找,可能没搞全,有的可能有加密,编码,搜不到

Burp 修改匹配(自动)

  1. 找到反调试代码:可以利用爆出的禁止提示,全局搜索,找到相关的禁用功能的函数,对有这个函数的 js 进行替换

  2. burp 代理设置:设置中找到HTTP匹配和替换规则---添加---响应头---替换相关内容

  3. 验证:开启代理---一定要有全部 Js 包,没有就 ctrl+F5 强制访问刷新

HOOK 插件(逐渐高端)

  1. 写好高端的脚本

  2. 编写HOOK脚本(->Js3)

  3. 到网站打开脚本

HOOK 脚本

拦截,修改程序执行流程的技术手段,通常用于调试、功能扩展、安全监控等

当然了也可以刷课、搞外挂

tian