news 2026/5/6 1:10:30

【最新猿人学】 js 混淆 - 回溯 扣代码,补环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【最新猿人学】 js 混淆 - 回溯 扣代码,补环境

暗号:aHR0cHM6Ly9tYXRjaC55dWFucmVueHVlLmNuL21hdGNoLzY=

题目:

先抓包分析接口,发现了加密值为m:

于是进入发起程序最后一个堆栈下断点:

然后点击下一页,就断住了,然后需要在作用域中观察加密值是否生成,如果没有看到,就往上查找堆栈:

在req堆栈处找到了m和q 的生成位置:

于是在此处下断点,更换一页,成功在此处断住

m的加密值是又r函数生成的:

而这里t的值在上方有赋值,为时间戳,window.o的值是1,重新更换一页,window.o的值还是1,所以这里的window.o的值是固定的

接下来进入r函数,发现其实结果是由z函数生成的,

所以接下来开始扣代码还原,扣代码过程省略,扣完后运行会显示:

搜索后是在下面这个地方输出:

在浏览器中这里下断点,然后在控制台中输出他们的值:

然后在修改js中的代码,输出e和t.length的值对比,发现扣下来的js中e并没有值:

所以直接添加代码:e = 128,再次运行代码,得到的m的结果是false

检查代码,会发现一段很可疑的代码:

这是只靠 []()!+ 组成的一种js 隐式类型转换,可通过ai查询它的工作原理

在浏览器中断点输出查看,他的值为false,所以直接将js中的值改为false

然后再看扣下来的js中这段代码的下面:

所以接下来需要补环境了,文章末尾有提供不环境的代理代码,代码复制进入js中最上方,再运行代码会发现很多环境都是缺的:

但其实主要缺的就是navigator 、 location 、 document,document可直接写为等于{} , navigator和location可以在浏览器控制台输出,再复制到js中,补完就能够获取到m的加密值了:

但是这个时候的值是错误的,并不能获取到数据:

所以加下来删除try 和对应的catch语句,看是不是try语句的问题,但是删除后并不会出现报错,然后开始慢慢检查,发现有个地方的值和浏览器中输出的值并不一样:

所以直接手动将这里修改为1024

然后编写python代码,就能正确获取到数据了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 1:07:34

基于Elixir与BEAM的Tai框架:构建高并发量化交易系统的实践指南

1. 项目概述:一个为专业交易者打造的实时市场数据与执行工具箱如果你是一名加密货币或衍生品的量化交易员,或者正在尝试构建自己的自动化交易系统,那么你肯定对市面上那些要么过于简单、要么黑盒封闭的交易框架感到头疼。今天我想深入聊聊一个…

作者头像 李华
网站建设 2026/5/6 1:03:27

买电车3年的用户后悔了,收费项目太多了,计划转回燃油车

从2015年开始发展电车,至今已有11年了,不说早期的电车了,有个买了电车3年的车主就已后悔了,电车的使用成本远非车企所言的那么低,甚至更高,因为车企日以继夜、夜以继日地开发收费项目,让车主肉疼…

作者头像 李华
网站建设 2026/5/6 1:02:30

Easysearch 正式支持插件开发:让你的搜索系统真正“为你所用”

从"用搜索"到"造搜索" 搜索系统的需求千差万别。标准功能覆盖不了所有场景——行业特定的分词规则、定制化的业务逻辑、与外部系统的深度集成…… 以往,这类定制需求需要依赖厂商支持。从 Easysearch 2.1.2 开始,你可以自己动手了…

作者头像 李华
网站建设 2026/5/6 0:58:53

免费开源!如何用NoFences拯救你混乱的Windows桌面?

免费开源!如何用NoFences拯救你混乱的Windows桌面? 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 每天打开电脑,你是不是也面对着满屏的图…

作者头像 李华