首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS 逆向百例】XHR 断点调试,Steam 登录逆向

XHR 断点定位 本次案例我们使用 XHR 断点来定位加密的位置,首先了解一下什么是 XHRXHR 全称 XMLHttpRequest,XHR 可以在不重新加载页面的情况下更新网页、在页面已加载后从服务器请求...已成功断下: [03.png] 第二种方法,在 Network 面板,点击 XHR 过滤 XHR 请求,在 Initiator 项里可以看到调用的 JS,鼠标移到 JS 上,可以看到调用栈,点击第一个,...这种方法需要注意的是,XHR 过滤不一定准确,但是只要是 Initiator 项里可以看到 JS,就说明可以跟进去进行调试,如果是通过 Form 表单或者其他方式发送的请求,Initiator 项会显示...[04.png] 参数逆向 前面 XHR 的两种方法,无论使用哪一种,定位到的位置都是一样的,查看右侧 Call Stack,即调用栈,一步一步往上查看调用的函数,在 login.js 里面,可以找到语句...,鼠标放上去会看到是用到了 jsbn.js 里面的方法,如果一个一个函数去扣的话会比较麻烦,直接将整个 jsbn.js 文件代码复制下来即可: [10.png] [11.png] 完整代码 GitHub

1.7K21
您找到你想要的搜索结果了吗?
是的
没有找到

JS逆向 | 分享一个小技巧和XHR断点的小案例

(仅限XHR请求) ? 有点经验的朋友肯定知道这次要用的就是 XHR BreakPoint。 关于XHR BreakPoint在很多文档中都有提及,咸鱼就不啰嗦了,还不是很了解的可以看下面的文档。...今天在交流群划水的时候有几个群友比较纠结于如何判断数据是不是由js生成或异步加载的。...第二种,关闭网页的js加载功能,查看网页我们需要的数据是否能够顺利加载或者查看数据是否完整,步骤也非常简单。 第一步: 点击地址栏前端的图示位置,选择网站设置。 ?...分析请求 用上面的方法我们判断,数据是通过js加载的,并且请求的参数和返回的参数都是经过加密的。 ? ? 到这里就需要 XHR 断点帮助我们定位加密了。 定位加密位置 我们先添加一个XHR断点。 ?...把解密和解密的方法扣出来就是我们需要的js代码了。 ? 本文完。 ?

2.3K20

XHR的属性和方法及事件汇总

XHR的属性和方法及事件汇总 xhr.open xhr.send() xhr.onreadystatechange = function() { } 监听状态变化 xhr.reaadyState...xhr.status 获取响应头信息 xhr.getResponseHeader([key]) 获得响应头的xxx信息 xhr.getResponseHeaders(‘Date...’) 获取服务器时间是标准的日期格式对象(GMT格林尼治时间) xhr.getAllResponseHeaders 获得到响应头的所有信息 获取响应主体信息 xhr.response 不限定类型...xhr.responseType 获取响应回来的类型 xhr.responText 限定类型 一般用 responseText,因为服务器返回的信息一般都是JSON格式的字符串 xhr.responseXML...限定类型 xhr.timeout 限制响应时间 xhr.abort() 终止响应 xhr.withCredentials = true 默认是false,我们会设置为true,在跨域请求中是否携带证书

9710

Web Spider XHR断点 千千XX 歌曲下载(三)

Web Spider XHR断点 千千XX 歌曲下载 首先声明: 此次案例只为学习交流使用,切勿用于其他非法用途 注:网站url、接口url请使用base64.b64decode自行解码 前言 目标网站地址...断点调试,使用WT-JS还原JS加密代码 逆向思路 1、通过浏览器,资源面板,添加XHR断点,让其在浏览器请求之前断住,以便我们分析请求参数; 2、通过资源面板下的调用堆栈,进行跟值,找到加密代码处;...3、拿到加密明文后,使用WT-JS还原JS加密代码 4、通过python代码调用JS代码实现整个任务; 1、根据接口的url,下XHR断点,这里以获取歌曲下载链的XHR接口为例; 如果浏览器向该接口发送请求则会在发包前进行断点...加密代码,点击生成JS加密代码,粘贴至pycharm编辑器中调试 打开pycharm调试JS加密代码 五、代码实现 1、JS加密代码:encode.js var CryptoJS = CryptoJS...() # 读取JS代码文件 js_obj = execjs.compile(js_code) # 激将JS代码传入 js_obj.call('function', 'params') # 调用JS

27720

Node.js内存泄漏的原因竟然是……?

一、背景 最近新开发了一个Node.js服务,却发现上线之后内存一直持续上涨。相信很多使用Node.js做过服务端开发的同学,也遇到过这样的问题,这种情况就是典型的内存泄漏。...当leak函数执行10000次后,内存中就会增加10000个Person和string,我们只需要找到这些新增的对象,就能找到内存增长的原因。...改代码是改不动了,只能尝试升级Node.js到14,看看内存占用是否恢复正常。 可以看到升级之后,Node.js应用的内存消耗已经下降了很多,并且保存在稳定的状态,没有再出现之前持续增长的情况。...succ')})// 获取缓存app.get('/data', (req, res) => { res.send(cache[req.params.key])}) (三)闭包 闭包也是导致内存泄漏的常见原因...专注于前端性能优化与全栈开发,在Node.js监控领域有深入研究。  推荐阅读 超详细教程!

1.6K20

【原生Ajax】全面了解xhr的概念与使用。

作者主页: 作者主页查看更多前端教学 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录 XHR的基本使用   什么是XHR   使用xhr发起GET请求...对象的关系     JSON和JS对象的互转     序列化和反序列化 封装自己的Ajax函数   要实现的效果   处理data参数   定义itheima函数   判断请求的类型 xhr level2...JSON和JS对象的关系 JSON是js对象的字符串表示法,它使用文本表示一个js对象的信息,本质是一个字符串。...JSON字符串转换为js对象,使用JSON.parse()方法; var xhr = new XMLHttpRequest(); xhr.open('get', '...封装自己的Ajax函数   要实现的效果 定义一个名为itheima的ajax函数,导入js文件之后,可以进行调用文件内的相关函数。

2K20

前端-现代 js 框架存在的根本原因

但这些都不是使用框架的根本原因。 最最本质的原因是: ?...(UI 与状态同步非常困难) 是的,就是这原因,让我们来看看为什么 假设你正在设计这样一个 Web 应用:用户可以通过群发电子邮件来邀请其他人(参加某活动)。...通过(添加)观察者监测变化,如 Angular 和 Vue.js。应用中状态的属性会被监测,当它们发生变化时,只有依赖了(发生变化)属性的 DOM 元素会被重新渲染。...这就是你需要使用现代 JavaScript 框架的根本原因。 自己动手,丰衣足食 如果热衷于了解底层原理,想知道虚拟 DOM 的具体实现。...结论 现代 js 框架解决的主要问题是保持 UI 与状态同步。 使用原生 JavaScript 编写复杂、高效而又易于维护的 UI 界面几乎是不可能的。

2.7K10

Web Spider XHR断点 堆栈跟值 逆向案例(四)

3、拿到歌曲的.m4a链接打开就可以直接播放啦 三、XHR断点调试,扣JS加密代码 逆向思路 1、通过浏览器,资源面板,添加XHR断点,让其在浏览器请求之前断住,以便我们分析请求参数;...2、通过资源面板下的调用堆栈,进行跟值,找到加密代码处; 3、通过Notepad++工具,格式化JS代码,方便我们扣取自己想要的JS代码; 4、通过浏览器等工具运行/调试JS代码; 5、通过python...代码调用JS代码实现整个任务; 1、根据接口的url,下XHR断点,这里以关键词检索歌曲信息接口为例; 如果浏览器向该接口发送请求则会在发包前进行断点; 2、在首页输入关键词搜索即可触发,可以发现此处的代码参数已经生成...代码,代码需要扣全 4、通过浏览器等工具,自定义一些方法以便我们运行/调试JS代码; 四、代码实现 1、JS加密代码:encode.js var CryptoJS = CryptoJS...() # 读取JS代码文件 js_obj = execjs.compile(js_code) # 激将JS代码传入 js_obj.call('function', 'params') # 调用JS

51520
领券