拼多多登陆 JS 密码字段加密解析

个人博客网站

拼多多登陆 JS 密码字段加密解析

若有侵权请立即联系作者删除!!!

目标: X多多自动登录时对密码字段的加密

抓登陆包

网址 https://mms.pinduoduo.com/login

打开调试工具,随意输入一个账号密码点击登陆

原始数据

然后我我们看到一个 POST 请求

https://mms.pinduoduo.com/janus/api/auth

原始数据

可见密码是在 js 中加密好了之后进行 post 提交的 看这货最后一次加密应该是 base64 加密。

定位可疑加密处

利用 Search 与堆栈调试跟踪断点调试在3万行代码中找到可疑加密处

原始数据

查找可疑处并断点调试, 此处明显 RSA 加密三部剧特征!

  1. 实例化 new 一个对象
  2. 设置密钥
  3. 加密

原始数据

跟进方法

原始数据

分析代码

原始数据

判断可以将此 js 复写出来,摘写出加密方法,放到 HBuilder 中调试

原始数据

修改复写该部分, 并将加密的匿名函数改写,调用

头部补入

// 定义 navigator 与 window
var navigator = {};
var window = this;  // 等于当前对象

js代码尾部改写为调用模式,提供给 Python 使用

// 1. 将上面这一坨匿名函数掐头去尾留中间,将其暴露出来, 这样才能使这个匿名函数暴露出来。	
// 2. 改写 将 rt 解密对象,赋值给 JSEncrypt
JSEncrypt = rt
	
// 自己写一个 func 来调用加密, 摘抄加密处如何使用的即可
function test(text){
	var p = new JSEncrypt; // 上面刚刚得到的JSEncrpyt 正好new 一个赋值给 p
	// 经过测试 PublickKey 为固定值,摘抄即可
	p.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOJ3pYE2cYqdHAnQhd0akAQ6tKiepF6ZCXnYix8HyZJapWm5aeJRmXpWPaH2l+tZzgwOELJLu0BYk6eefWpd79Zm63+cSRdRqhgSv3/Anh4XVjBBewc26KUKMq5MWnEVCyjEDZSzUvCnDiVOl+Uid9tRRr1ZrBMKsXwSgjvge0NwIDAQAB"),
	password = p.encrypt(a)  // 适当改写
	console.log(password) // 打印
};
	
test('密码')

测试js是否能加密

原始数据

利用 Python 的 js2py 模块运行 js

with open("encryp.js", "r", encoding="utf-8") as f:
    self.context.execute(f.read())

ret = self.context.test('待加密的字符串')

原始数据

GitHub 代码

自此完成了提交登陆请求时对密码的加密,用此方法可对其他字段进行自行封装。

【拼多多】登陆参数解密

### PDD2020 数据集概述 PDD2020 数据集是一个用于自动驾驶研究的数据集合,包含了丰富的传感器数据和标注信息。该数据集旨在支持学术界和工业界的开发人员进行高级驾驶辅助系统(ADAS)的研究以及完全自动驾驶技术的研发工作[^1]。 #### 下载指南 为了获取 PDD2020 数据集,通常需要访问官方发布的平台或网站。具体步骤如下: - 访问官方网站并注册账号。 - 登录后,在指定页面申请下载权限。 - 完成必要的协议签署流程。 - 根据指引选择所需版本的数据包进行下载。 注意:由于版权保护等原因,并非所有资源都公开可得;部分高价值资料可能会受到严格控制,仅限特定研究人员使用。 #### 使用说明 在处理 PDD2020 数据集时,建议采用 Python 编程语言及其生态系统中的工具来解析文件格式、加载图像序列和其他二进制记录。以下是简单的读取 LiDAR 点云数据的例子: ```python import numpy as np from pathlib import Path def load_pcd(file_path): """Load point cloud data from a binary file.""" points = [] with open(Path(file_path), 'rb') as f: while True: try: x = float(np.fromfile(f, dtype=np.float32, count=1)) y = float(np.fromfile(f, dtype=np.float32, count=1)) z = float(np.fromfile(f, dtype=np.float32, count=1)) intensity = int(np.fromfile(f, dtype=np.uint8, count=1)[0]) points.append([x, y, z, intensity]) except ValueError: break return np.array(points) if __name__ == "__main__": pcd_data = load_pcd('path_to_your_file.pcd') print(pcd_data.shape) ``` 这段代码展示了如何打开 `.pcd` 文件并将其中的内容转换为 NumPy 数组以便进一步分析。 #### 特征介绍 PDD2020 数据集中包含多种类型的感知输入源,主要包括但不限于以下几个方面: - **摄像头视频流**:提供 RGB 彩色图片帧,可用于物体检测、分类等视觉任务。 - **LiDAR 测距仪扫描结果**:生成三维空间内的精确距离测量值,形成密集点云图谱。 - **雷达回波信号**:捕捉车辆周围环境动态变化情况下的反射强度分布特征。 - **GPS/IMU 组合导航定位信息**:确保每条记录的时间戳同步精度达到微秒级别,从而实现精准轨迹重建。 这些多模态融合后的高质量样本能够帮助训练更加鲁棒可靠的机器学习算法模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值