愉快的调试JS代码-Charles替换JS文件

本文介绍了如何使用Charles抓包工具替换网页请求中的js文件,包括配置SSL代理、在访客模式下避免缓存、定位并替换目标js、处理CORS跨域错误,以及利用Rewrite功能完成替换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7cdc7f0d37966e314d8c39bdf71bc2b0.png

在做 js 逆向的时候,为了方便调试和分析 js 文件,一般我们将js请求替换为我们本地自己优化好的 js 文件。

本文使用的是比较通用方式通过抓包工具 Charles 进行,请求的替换。我们的测试网站是  aHR0cHM6Ly93d3cuZG91eWluLmNvbQ==

0x1 配置Charles

关于Charles的基本配置,网上很多文章写了,我就不详细去说了,配置路径如下 Proxy->SSL Proxying Settings->SSL Proxying 勾选 Enable SSL Proxying  点击 ADD 其中  host 填写*,port 填写443。

既然我们想要使用 charles 来对 js 文件进行替换。那么就需要 charles 能够抓到网页的请求,

通过下面的配置我们可以抓取系统中发出的请求:Proxy->macOS Proxy

d8ec9b09b008a0c78db19cf3e1bd181c.png

0x2 定位目标js并替换成本地文件

在使用 Charles 抓取请求的过程中,发现浏览器 NetWork 的面板可以抓取到我们想要的请求,但是 Charles 中确搜不到,经过确认发现,当前的请求走了浏览器的缓存,所以为了避免这种现象,推荐使用谷歌浏览器的访客模式进行访问。

通过访客模式我们成功获取到了目标 js 的请求信息。筛选找到目标请求,右键该请求选择 Map Local 之后出现下面的框。

31ab368e4679f87cb90f9b89992db60a.png

这里就是让我们将请求替换为本地JS的地方,其中 Map From 部分是软件会为我们自动补充完成,我们只需要关注Map To部分,点击 Choose 选择我们本地优化好的 JS 文件,然后点击OK,即替换完成。

0x3 解决跨域错误的问题

为了确认我们文件是否正的替换了,可以在文件的首行添加个alert(123)

再次打开访客请求之后,观察是否有 123 弹出,事实发现并没有弹窗。

查看请求,发现我们的目标请求红了,很明显这是一个错误信息,错误类型为CORS,很明显这个网站不支持跨域请求。

1ca5ce462f850395031ab251a0ec9889.png
27a3c005c7ca35d34dcf720bacfbc625.png

charles 提供的 rewrite 功能,菜单栏 的Tools 里面有个rewrite的功能,可以帮助我们修改请求信息

e5a589c4eb80cd6d474414bab6c81c92.png

打击Rewrite出现如下窗口,填入的内容如下

☑️Enable Rewrite

点击 Add 输入规则名称比如我这里叫 ALLOW_CORS。

之后填写 Location的部分,内容如下

011f6640aa146c53809ef906ee20729e.png

紧接着下面的内容填写

07be5a84267467ea2d7481f8a1ac8254.png

最后整体信息如下

e9c57c43177796278d16e0faa457ea6f.png

至此,整个替换过程就完成了,可以愉快调试了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值