欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【JS逆向】之过无限debugger调试

程序员文章站 2022-03-12 21:28:51
在JS逆向过程当中,获取用发F12抓取XHR的时候,常常会发现网页不让我们打开F12开发人员工具。如果这个时候我们开启工具中禁止断点之后,虽然我们可以抓取xhr,但是这样我们无法调试代码部分了,开启了禁止断点之后,我们自己也无法在代码当中下断点了1.这里说明一下:关于上面说的禁止断点怎么操作,我上一篇文章是有说明的【JS逆向】之浏览器的功能详细使用2.开始我们就用我自己写的一断简单debugger代码来演示一个什么是debugger.:setInterval(function (){debugge...

在JS逆向过程当中,获取用发F12抓取XHR的时候,常常会发现网页不让我们打开F12开发人员工具。如果这个时候我们开启工具中禁止断点之后,虽然我们可以抓取xhr,但是这样我们无法调试代码部分了,开启了禁止断点之后,我们自己也无法在代码当中下断点了

1.这里说明一下:关于上面说的禁止断点怎么操作,我上一篇文章是有说明的

【JS逆向】之浏览器的功能详细使用

2.开始我们就用我自己写的一断简单debugger代码来演示一个什么是debugger.:

setInterval(function (){
debugger;
},1000)
//setInterval这个是JS语言当中的定时器,它有两个参数,第一个是要执行的代码,第二个执行时间

这个一段代码执行的话会一直断住,不管你怎么跳转到下一个断点,它都还是会一直断,其实这个就是一个无限debugger的代码,如图执行
【JS逆向】之过无限debugger调试
这个时候我们要怎么去处理的着东西呢,
a.禁止断点(不建议使用)
b.采用hook的方法来hook定义器
c.在定时器运行到debugger的时候必定是true才能执行,那我们给它改成false,那么它就不执行,也就达到我们的目的了.

下面我就说说这三种方法:
a.打开禁止断点功能,在点击跳到下一个断点,但是当我们关闭禁止断点之后,它还是会继续断住
【JS逆向】之过无限debugger调试
b.hook定时器其实就是修改这个函数的执行属性,可以达到让他执行且不影响我们的正常功能又可以过我们的debugger代码,下面我写一断简单的hook代码(当然hook代码很多,不止这一个,只要你懂它的原理,那么你肯定会造出很多比我这个优秀很多的hook代码。)。

var  _setInterval=setInterval//先定义一个变量来接收这个函数
setInterval=function (){}//在修改原函数

【JS逆向】之过无限debugger调试
hook下断点的位置很重要,一定要在这个函数没执行之前,我这里是把断点下在1行这个位置,工具还没有执行里面的代码,加载代码就会断住,然后在这个时候就可以在我们的控制台输出我们的hook代码,回车执行。
【JS逆向】之过无限debugger调试

在点击跳到下一个断点就OK了,就完美就过了我们的debugger。

c.当定义器运行到这个debugger这个代码的时候,那么这个时候它为true,它肯定执行我们的debugger代码,那我们可以用浏览器的功能给他改成false,毕竟我们浏览器工具还是很强大的。如图:

【JS逆向】之过无限debugger调试

这个功能是在代码的第二行,鼠标右键,选择Add conditional…这个选项,就会出现这个输入框,直接输入false 回车,再点击跳到下一个断点,那我们也完美的过了这个debugger。

3.方法多种多样,只要懂了它的运行原理之后那么就可以进行一系列骚操作了。

4.注明:这里很有浏览器的功能使用,看不懂的小伙伴可以去我上一篇文章阅读观看哦。可以是你的基础更加扎实哦。

5.小弟写东西不容易,还需要大家给个好评给个赞点个关注,小弟在这感谢给位观看阅读。

本文地址:https://blog.csdn.net/weixin_44504978/article/details/112539754