33 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 调试客户端 JS
## 调试客户端 JS
{{#include ../../banners/hacktricks-training.md}}
调试客户端 JS 可能很麻烦,因为每次你更改 URL包括参数或参数值的更改你需要 **重置断点并重新加载页面**
### `debugger;`
如果你在 JS 文件中放置 `debugger;` 这一行,当 **浏览器** 执行 JS 时,它会在该位置 **停止** **调试器**。因此,设置常量断点的一种方法是 **将所有文件下载到本地并在 JS 代码中设置断点**
### 覆盖
浏览器覆盖允许拥有即将执行的代码的本地副本,并执行该副本而不是来自远程服务器的代码。\
你可以在 "Dev Tools" --> "Sources" --> "Overrides" 中 **访问覆盖**
你需要 **创建一个本地空文件夹来存储覆盖**,所以只需创建一个新的本地文件夹并在该页面中将其设置为覆盖。
然后,在 "Dev Tools" --> "Sources" 中 **选择你想要覆盖的文件**,并 **右键选择 "Save for overrides"**
![](<../../images/image (742).png>)
这将 **在本地复制 JS 文件**,你将能够 **在浏览器中修改该副本**。所以只需在你想要的地方添加 **`debugger;`** 命令,**保存** 更改并 **重新加载** 页面,每次你访问该网页时 **你的本地 JS 副本将被加载**,并且你的调试器命令将保持在其位置:
![](<../../images/image (594).png>)
## 参考
- [https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s](https://www.youtube.com/watch?v=BW_-RCo9lo8&t=1529s)
{{#include ../../banners/hacktricks-training.md}}