如何在线替换并调试网页上的 JS 代码

article/2025/8/15 20:07:32

    • 调试代码
    • 使用代理替换代码
    • 在线调试
    • 总结

调试代码

当我们需要调试网页上的 JS 代码时,可以使用 Chrome 游览器上的开发者工具的 Sources 项进行断点调试。
Sources 调试界面
在代码数目栏处点击,即可加上断点,根据加入的断点进行判断,该断点若是事件触发的可不用刷新界面,代码会被调用时进入调试状态。若是初始化类的代码需要刷新页面进入调试状态。

这种方式在自己开发中,可以很好的调试代码,但如果要调试某个网站的代码时,代码很乱就可能会无法掌控,比如:
举例代码

使用代理替换代码

在上面的这种情况下,我们就无法正常的进行调试。那有没有什么解决方法了?肯定有的!

我们想一下,游览器的工作原理,游览器向服务器请求数据,服务器再响应请求,发送响应数据给游览器。游览器是需要一个运行环境的,就是我们的终端,在这里就是电脑。意思就是服务器响应的数据是先到我们电脑然后再加载到游览器中。

那么我们可以在数据从电脑加载到游览器这一个过程中,做点小事。

我们可以使用 Charles 截取服务器返回的数据,Charles 是网络代理抓包工具,可通过代理实现抓取 HTTP 和 HTTPS 协议的数据。在这里就不介绍安装和基础使用了。

使用方法如下:

先找到你需要替换的 JS 代码,在这里以网易云音乐为例子,打开开发者工具选择 Sources 可看到 core.js 为:
core.js代码
core.js 中的代码不止混淆了,而且每一个模块都弄成一行,这样很难进行调试,我们可以将该 JS 代码下载下来,然后格式化代码,在该代码中加入一些代码,如打印一些信息(console.log),也可以在代码中加入 debugger 直接实现断点调试,通过这些来判断代码执行的逻辑和数据。
格式化后的 core.js 代码
就这样,可以按照我们的想法,在 core.js 中加入代码,此时我们自己的 core.js 已经弄好了。

接下来就是如何替换从服务器返回给游览器的数据,Mac步骤如下,其他操作系统也差不多一样:

  1. 先把电脑上的代理软件关掉,再打开 Charles,在菜单栏选择 Proxy 打开 macos Proxy。
  2. 打开 Chrome 上的开发者工具,选择 Network 把禁止缓存勾上(Disable cache)。
  3. 刷新页面,在 Charles 上选中需要替换的 JS 代码,右键选择 Map Local…,然后在点击 Choose 按键,选择需要替换的 JS 代码。
    Charles 操作

现在已经替换了 core.js,如下是我设置的打印信息,这样我们就可以分析代码,或者黑箱操作(不用管他做了什么,只管输入什么输出什么)找到我们需要的信息。
替换后的 core.js

在线调试

这样就可以在开发者工具的 Sources 项进行断点调试,或者还可以继续在替换代码中,加入自己的分析代码。

总结

想要做什么的时候,应该找到最根本的本质,然后利用搜索引擎或者询问他人,到达目的,也就是从最根本点到目标点。


http://chatgpt.dhexx.cn/article/uFLOAUi7.shtml

相关文章

用JS开发安全工具:端口扫描器

用JS开发安全工具:端口扫描器 如标题所述,本文用Javascript实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。 在Node.js中运行,效果如下: 源码: function scan…

JavaWeb后端代码自动生成工具V2.0.0

背景介绍 Author:yuxue {个人业余开发项目,主要解决个人在开软件开发工作中遇到的一些头疼问题} 问题1:各种密码太多,记不住问题2:系统太多,环境太多,看着都头疼,要用的时候找半天…

goto混淆语句解密工具,php代码还原

通过使用goto解密工具,你可以轻松应对多种加密场景。下面列举了几个具体问题案例,让你更好地了解它的实际应用: 1. 微擎2c解密: 当你在微擎中遭遇2c加密时,可能会遇到无法阅读和修改代码的困境。但是,有了…

javascript服务器_服务器端JavaScript会流行吗?

javascript服务器 JavaScript is probably the most widely-used programming language on the planet – nearly every website has a few lines. However, the language is also one of the most misunderstood and often confuses experienced developers: it is not Java, …

python编写代码工具_python编码工具

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 编码后字节序列被发送给终端,假若终端设置的编码和str编码不一致,终端就会显示出乱…

vue打包js文件混淆加密保护

需求 部署到服务器上的vue项目在网页F12之后能看到源码,vue文件啦,js文件啦,都能看到,连我的注释都能看到,这能随便给别人看? 环境 vue 3 vue cli 4 webpack 4 解决方案 方案一 工具:“u…

【C/C++服务器开发】什么是服务器?服务器分类及构建一个简单的服务器系统

文章目录 一、服务器的定义二、服务器的分类1.外形2.CPU指令集3.用途1.web服务器WEB简介协议WWW简介发展和特点服务器特点工作原理 2.应用服务器定义分类静态动态 概括区别应用服务器和WEB服务器的区别Web型应用程序型 3.文件服务器简介功能分类集中式文件服务器(1&…

js混淆 webpack-obfuscator

js混淆之webpack-obfuscator 混淆是什么 混淆是故意制造混淆代码的行为,即让人难以理解的源代码,类似于加密,但计算机能够识别理解代码并且执行它。混淆可以用来隐藏来自外部世界的业务逻辑,也可以实现压缩。 简单的原理&#…

使用AST进行JavaScript反混淆(2022年增值税发票查验js)

背景 多年前学过龙书,一来当时本身也没看懂,二来时间也长也差不多都忘记了。直到最近有 deobfuscate 问题才看了下AST。 说实话,一旦稍微了解AST和熟悉了 Babel 接口,deobfuscate 实在不是啥难事。 反混淆总结放前面。 注意事…

html混淆压缩,JavaScript的压缩和混淆

JavaScript的压缩和混淆 我们都知道JavaScript是一种在客户端浏览器中执行的解释型语言。浏览器以纯文本的形式下载JavaScript,然后在需要的时候执行JavaScript代码。 通过使用浏览器的查看源代码功能,用户总是能够阅读JavaScript的源代码,该…

安卓混淆及反编译工具

目录 安卓混淆及反编译工具... 1 Eclipse编译混淆... 2 项目文件project.properties. 2 服务器编译混淆... 2 Android.mk. 2 混淆规则... 3 Java代码的混淆... 3 Proguard混淆规则汇总... 3 Native的混淆... 4 资源文件的混淆... 4 混淆的常见配置... 4 哪些不应该…

一款JavaScript 混淆(Obfuscator)工具(Tool)的研究(一)

1.研究使用的工具及网站 https://obfuscator.io 主要研究对象,主要是研究此网站的各种混淆方法及破解办法。 http://jsnice.org/ 用来格式化代码,方便调试。 notepad 编辑代码。 某浏览器 具有谷歌内…

stm32与sim900之GPRS通信(电脑串口与SIM900通信)

注意: 1 sim900在进行GPRS通信的时候最大电流可以到90MA.瞬间电流SIM900模块可能高达2A4V,即输入端电流瞬间值可能高达740mA12V,故给模块选择电源的时候,要能满足瞬间电流峰值。 以上这段话摘录自正点原子的SIM900用户手册,也就是说你在用SI…

GSM模块(SIM900)详解

GSM模块(SIM900) 0. GSM概述1. 常用的GSM模块2. SIM900系列3. STM32使用SIM900系列通信方法AT指令示例代码 0. GSM概述 GSM(全球系统移动通信)是一种数字移动通信技术,是世界上最常用的移动通信标准之一。它是由欧洲电…

常见的防火墙技术介绍

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt280 防火墙是一个系统或一组系统,它在内网与Internet间执行一定的安全策略。典型的防火墙应包含如下模块中的一个或多个:包过滤路由器、应用层网关(或代理服务器…

linux平台下防火墙iptables原理

转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646466.html linux平台下防火墙iptables原理(转) iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包…

简述防火墙

什么是防火墙? 在遭受入侵时,做内外网隔离的策略叫做防火墙。 防火墙分类 按物理特性划分:软件防火墙、硬件防火墙;按性能划分:百兆级防火墙、千兆级防火墙……按防火墙结构划分:单一主机防火墙、路由集…

【计算机基础】防火墙

工程师CCNAHCIA 资深工程师CCNPHCIP 技术专家CCIEHCIE IPS:入侵防御系统,发现攻击和入侵进行阻断IDS:入侵检测系统,检测有无攻击漏洞扫描:发现本地服务器/PC,存在哪些中高低危的风险,解决漏洞…

下一代防火墙概述

目录 1.防火墙概述 1.1定义 1.2防火墙分类 1.3防火墙功能 1.4防火墙的策略 2.防火墙发展史 2.1 包过滤防火墙:一个严格的规则表 2.2 应用代理防火墙:为每个应用添加代理 2.3 状态检测防火墙:建立会话表 2.4 入侵检测系统&#xff0…

上海交通大学考研复试模块小结——防火墙技术

既然上次开了这个系列,索性就把这个信息安全这一块的主流技术都介绍一遍好了。上篇博客讲了密码学,今天就来说说防火墙技术。 防火墙技术 防火墙技术是位于两个新人程度不同的网络之间的软件或者硬件设备的组合,实质上是一种控制隔离技术。…