实时调试线上js

Chrome的开发者工具在source选项卡下,可以看到js源代码,但是不能编辑。利用Chrome的Overides功能可以实现js代码的重载或者调试。
第一步,选择要修改的js文件,记住它的位置。如下图中的标红的文件名称要一样

 

 

 

第二步,在本地电脑任意位置建立如下文件:文件目录要一样,js文件名需要与上面要替换的报纸一致,

第三步,点击source选项卡下面的Overides,选中你刚才建立的top文件夹。如下图所示。


重新刷新浏览器,即可实现js代码的重置。

 reres的使用

有条件的直接使用谷歌商店安装:https://chrome.google.com/webstore/detail/reres/gieocpkbblidnocefjakldecahgeeica?hl=zh-CN&gl=CN

下载好离线版本之后打开chrome://extensions/拖入即可安装

安装好后,在chrome://extensions/找到 ReRes ,勾选允许访问文件网址,至此完成 ReRes 的配置。

ReRes 到底怎么用?

这个插件的优点就是简洁,简洁到不找找相关的资料都不知道怎么用。

刚刚安装好的软件,打开是这个样的:

点击添加规则是这个样子的:

添加规则

无从下手形容是再正确不过了,不过 ReRes 使用方法也很简单。

点开添加规则之后:

If URL match栏,填入的是匹配 URL 的规则,这里填入的是一个正则表达式,比如我想配置github.com/login这个域名,可以使用*://github.com/login*这样的方式匹配,或者使用偷懒的方式直接匹配网站路径下的文件^https://www.xxxAAA.cn/js/jquery.min.jsIf URL match注意事项:不要填开头的/和结束的/x,如/.*/g请写成.*Response栏,填写的是映射的响应地址,比如在 Window 下,我想要将 E 盘下的 index.js 文件映射回去,使用本地地址的方式是file:///E:/index.js,使用线上地址的方式是http://localhost:3000/xxx/index.jsResponse注意事项:线上地址以http://开头,本地地址以file:///开头,Mac 推荐使用超级右键可以直接复制文件路径,同时上一点中提到的线上地址需要启动一个可以访问静态文件的服务,可以使用 Flask 快速搭建一个。

添加完成,点击保存,重新加载页面即可。

快速练手

光说不练肯定不是咸鱼的风格,这里快速用一个例子演示一下。

打开夜幕的 JS 逆向的课程练习网站,打开第九题使用符号加密的JS练习题。

我们可以看到网站的index.js这个文件是混淆后的代码。

为了方便调试,我们使用ReRes将解密后的明文替换掉这个混淆的文件。

右键需要替换的文件,使用copy link address

image

粘贴到 Reres 的If URL match栏中。

之后复制需要映射的本地文件的路径,粘贴至Response栏,点击保存即可。

重新刷新网页,即可加载,为了测试是否加载成功,可以写个弹窗测试下。

ps:该方法的一个应用是测试hook函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Three.js中提供的辅助函数来显示辅助线。具体步骤如下: 1. 引入Three.js库文件和需要使用的辅助函数文件,例如: ```html <script src="https://cdn.bootcdn.net/ajax/libs/three.js/r128/three.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/three.js/r128/helpers/AxisHelper.min.js"></script> ``` 2. 创建场景、相机和渲染器,例如: ```javascript var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); ``` 3. 创建需要显示辅助线的物体,并添加到场景中,例如: ```javascript var cubeGeometry = new THREE.BoxGeometry(1, 1, 1); var cubeMaterial = new THREE.MeshBasicMaterial({color: 0xff0000}); var cube = new THREE.Mesh(cubeGeometry, cubeMaterial); scene.add(cube); ``` 4. 创建需要显示的辅助线,并添加到场景中,例如: ```javascript var axisHelper = new THREE.AxisHelper(5); scene.add(axisHelper); ``` 5. 渲染场景,例如: ```javascript function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate(); ``` 这样就可以在场景中显示辅助线了。可以通过调整辅助线的参数来更改其显示效果。例如,可以在创建AxisHelper时设置参数来控制辅助线的长度和线条粗细,例如: ```javascript var axisHelper = new THREE.AxisHelper(5); // 参数为辅助线长度 axisHelper.material.linewidth = 2; // 设置线条粗细 ``` 需要注意的是,辅助线只是用来辅助调试和调整场景中物体的位置和方向,最终在实际应用中不应该显示辅助线。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值