Chrome 调试技巧:如何快速替换JS脚本调试
大家好,今天分享一个快速替换 JS 脚本或者 html 文件的方法。
Chrome
在逆向中,我比较常用的浏览器是 Chrome,有的时候为了方便逆向 JS 代码,会有修改 JS 或者修改 html 的需求,这个时候有两种方案:
- 使用抓包软件的 map local 功能,通过中间人的方式拦截请求,并且返回本地文件的内容。
- 使用 Chrome 自带的替换功能,直接替换 JS 文件或者 html 文件,无需抓包软件,更加简单方便。
本篇文章来介绍第二种方案。
替换功能
先打开控制台,将鼠标放到刚才发送的请求上,会自动提示当前请求的调用堆栈,可以看到请求是有 jQuery 发送的,中间的带有行号的 request
方法就是当前文件中的 JS 代码。说明请求加密的位置在 html 文件中的 Script
标签中,如果要替换文件的话,就需要替换当前的 html 文件才能修改请求逻辑。
切换到源代码标签,在最左侧选择替换按钮,切换到替换页面。
点击选择放置替换项的文件夹,会弹出选择框,选择一个本地保存 html 文件的位置,点击确定。
浏览器会提示是否允许访问本地文件,点击允许。
此时仔细看,当前的 html 文件已经是可以编辑的状态了,已经出现了光标,这个时候对 html 文件进行编辑,按 ctrl+s 就可以将修改后的 html 文件保存到本地了。
我这里新增两行日志,并且保存文件。
保存以后会发现标签页会带有一个粉色的圆点,代表当前文件替换已经生效了。
查看刚才选择的文件夹,会发现已经能看到有一个根据 URL 路径依次保存的文件了。
打开文件夹中的文件,发现已经正常的保存了。
现在刷新网页,查看控制台是否有日志打印。
会发现控制台会打印出对应的日志,本地替换成功。
总结
后续如果有更多的调试需求,或者使用 AST 反混淆 JS 代码的话,也可以使用这个功能来替换 AST 反混淆后的 JS 代码,测试反混淆后的 JS 代码功能是否正常。
本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注公众号 (LLLibra146):
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!