JS断点调试

Chrome的source调试

在这里插入图片描述
在Source选项中新建了一个Script snippet的JS文件

我们输入以下代码:

function xx()
{
    console.log(1);
}
function zhiyuan()
{
    xx()
}
zhiyuan()

在console中调试如下:
xx.call和xx.caller,
分别得到自身函数和上一级调用的函数(读上一层的栈)
在这里插入图片描述
例:
url = https://sc.xinshangmeng.com/xsm2/?Version=2020022100

dom事件监听:
在这里插入图片描述

Call Stack :方法调用栈

先进后出: i→dispatch→e
在这里插入图片描述
调用过程:

1.function e(){}
2.function dispatch(){
		e();
	}
3.function i(){
		dispatch();
	}
4.function xxxx(){
		i();
	}

Scope:变量跟踪

在这里插入图片描述

简单跟值

1.JS的运行顺序不一定是JS文件的编写顺序
开始的位置—:—解析

//自执行方法
 !function a(){}()

//变量的定义 var xx
//赋值语句  a = 1
//方法的调用

练习:假设方法a

function x(){
    var a = 1;
    console.log("x");
}
!function(){
    console.log("!");
}()
x(console.log("1"));

运行顺序结果如下:
在这里插入图片描述

案例一、密码加密(全局搜索方法)

url = “https://sk.open.com.cn/stuspace-auth/#/login”
在这里插入图片描述

step1:分析目的

password: FB1C975E4C5BD3D3858C10CBA6638B282126DC92
判断MD5:长度为16或32位
sha1:长度40位
在这里插入图片描述

step2:全局搜索关键词password

### step1:分析
经验筛选:Axios、vue、 react、 jquery等文件先不看,一般改动较少

password可能出现的方式:
在这里插入图片描述

step3:打断点在这里插入图片描述

下图要调试函数,这三个点都可以打断点,推荐第一个
在这里插入图片描述
stringify()方法,对象==>json
(左括弧前面一定是一个方法
()两个括号之间的是参数
在这里插入图片描述
找到d.a方法,点进去:
在这里插入图片描述
分步调试即可找到加密方法

案例二、dom事件断点-寻找相应的JS文件

在这里插入图片描述

案例三、XHR断点

在这里插入图片描述

优点:定位的位置在发包函数,我们可以跟栈
缺点:只能用于XHR的数据包

JS发包,HTML表单发包
1)xhr breakpoints 进行过滤,也是支持正则的
在这里插入图片描述

在这里插入图片描述

2)通过network面板进入抓包函数
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值