猿人学js逆向比赛第一届第九题

首先遇到了udc文件中的无限debugger,这里利用ast进行代码还原,处理后有下面两个监测点,进行手动删除。

看到页面中的js也被混淆了,这里将页面中的js也处理一下再替换到原始页面中。同时要注意删除处理后代码中的一些格式化检测。如下面这样。

经过手动删除无效代码后得到了下面的js

那么这就很明显了,这是循环3次调用 decrypt函数然后得到最后一次的结果并加了m和r得到cookie

通过进入decrypt函数中可以看到这应该是一个rsa算法。这里首先按照标准算法尝试。

因为传入的参数看着像时间戳,可以判断出这个参数应该是动态的,所以这里要从页面中动态取出。

python 复制代码
t = re.search(r'decrypt,\'(\d+)\'', response.text)
if t:
    t = t.group(1)
    print(t)

通过正则表达式可以从页面中取出这个时间戳。

经过手动拼接后更新cookie再次访问,可以看到已经能正常访问到页面数据了。虽然可以正确拿到页面数据了,但是访问api是被拒绝的。

这里还是怀疑m生产的不对,所以这里重新比较了m重新还原了一次页面的代码。

可以看到这里的m循环次数不再是3次了,那么重新从页面中匹配出循环次数再试一下。重新设置完之后还是无法拿到页面数据。这里尝试从原js代码中抠取加密函数。可以看到没有问题了。

相关推荐
傻啦嘿哟2 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670792 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄3 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
隐擎fox3 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
Seoyoneh4 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
Tangyuewei4 小时前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界5 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
繁星蓝雨5 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
Evand J6 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
杜大哥6 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python