Chrome 调试技巧:如何快速替换JS脚本调试

大家好,今天分享一个快速替换 JS 脚本或者 html 文件的方法。

Chrome

在逆向中,我比较常用的浏览器是 Chrome,有的时候为了方便逆向 JS 代码,会有修改 JS 或者修改 html 的需求,这个时候有两种方案:

  1. 使用抓包软件的 map local 功能,通过中间人的方式拦截请求,并且返回本地文件的内容。
  2. 使用 Chrome 自带的替换功能,直接替换 JS 文件或者 html 文件,无需抓包软件,更加简单方便。

本篇文章来介绍第二种方案。

替换功能

image-20250405211108564

先打开控制台,将鼠标放到刚才发送的请求上,会自动提示当前请求的调用堆栈,可以看到请求是有 jQuery 发送的,中间的带有行号的 request 方法就是当前文件中的 JS 代码。说明请求加密的位置在 html 文件中的 Script 标签中,如果要替换文件的话,就需要替换当前的 html 文件才能修改请求逻辑。

image-20250405211609882

切换到源代码标签,在最左侧选择替换按钮,切换到替换页面。

image-20250405211715529

点击选择放置替换项的文件夹,会弹出选择框,选择一个本地保存 html 文件的位置,点击确定。

image-20250405211809370

浏览器会提示是否允许访问本地文件,点击允许。

image-20250405211912708

此时仔细看,当前的 html 文件已经是可以编辑的状态了,已经出现了光标,这个时候对 html 文件进行编辑,按 ctrl+s 就可以将修改后的 html 文件保存到本地了。

image-20250405212056504

我这里新增两行日志,并且保存文件。

image-20250405212148833

保存以后会发现标签页会带有一个粉色的圆点,代表当前文件替换已经生效了。

image-20250405212239452

查看刚才选择的文件夹,会发现已经能看到有一个根据 URL 路径依次保存的文件了。

image-20250405212348745

打开文件夹中的文件,发现已经正常的保存了。

现在刷新网页,查看控制台是否有日志打印。

image-20250405212446287

会发现控制台会打印出对应的日志,本地替换成功。

总结

后续如果有更多的调试需求,或者使用 AST 反混淆 JS 代码的话,也可以使用这个功能来替换 AST 反混淆后的 JS 代码,测试反混淆后的 JS 代码功能是否正常。

本文章首发于个人博客 LLLibra146’s blog

本文作者:LLLibra146

更多文章请关注公众号 (LLLibra146):LLLibra146

版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!

本文链接
https://blog.d77.xyz/archives/8a34f7ae.html