拼某某手机号登陆协议简单分析 (二)
本帖最后由 Shocker 于 2021-8-30 12:56 编辑# 前言
简单分析下拼某某自动登陆原理(token登陆).
拼某某3版本:3.66.0
拼某某5版本:5.0.0
## 工具
- MuMu模拟器
- 雷电模拟器
-fiddler **(抓包)**
-jadx **(反编译)**
-Android studio **(动态调试)**
## 过程
### 拼某某3
打开fiddler,模拟器配置代{过}{滤}理后,输入收到的验证码,点击登陆,可以在fiddler中看到登陆的包
打开jadx,搜索/login
1.
2.
3.
4.
可以看到把access_token和uid用SharedPreferences保存
查阅资料得知,保存的位置在
```
/data/data/com.xunmeng.pinduoduo/shared_prefs/
```
查看pdd_config_common的内容
```
adb shell cat /data/data/com.xunmeng.pinduoduo/shared_prefs/pdd_config_common.xml
```
```
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="__oksp_compat__" value="true" />
<string name="jsSecureKey___ACCESS_TOKEN__">xxxxxxxxxxxxxxxxxxx</string>
<string name="jsSecureKey___USER_UID__">xxxxxxxxxxxxx</string>
<string name="pdd_id">xxxxxxxxxxx</string>
<string name="userAgentString">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>
</map>
```
该文件保存了token,uid,pdd_id等
将文件拉到电脑端
```
adb pull /data/data/com.xunmeng.pinduoduo/shared_prefs/pdd_config_common.xml
```
关闭雷电模拟器,打开MuMu模拟器,安装拼某某3
将文件传进模拟器内
```
adb push pdd_config_common.xml /data/data/com.xunmeng.pinduoduo/shared_prefs/
```
打开拼某某发现已经是登陆状态.(注:这里不显示头像和手机号是因为保存手机号的文件在pdd_config.xml里,点击头像重新加载就可以解决这个问题)
### 拼某某5
拼某某5与拼某某3的区别在于其保存token的文件并不是以SharedPreferences存储的,打开jadx搜索getAccessToken(与拼某某3类似)
跟进,发现其存储token的文件在
```
new File(PddActivityThread.currentApplication().getFilesDir(), "pinUserFile")
```
转换一下得到
```
/data/data/com.xunmeng.pinduoduo/files/pinUserFile
```
看看里面保存了啥?
```
adb shell cat /data/data/com.xunmeng.pinduoduo/files/pinUserFile
```
```
{
"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"uid": "xxxxxxxxxxxxxxxxx",
"uin": "xxxxxxxxxxxxxxxxxxxxxxxxx"
}
```
用同样的操作把雷电模拟器里面的pinUserFile复制到MuMu模拟器里.
打开拼某某5,
发现已经是登陆状态.
## 结论
拼某某3保存用户的token在
```
/data/data/com.xunmeng.pinduoduo/shared_prefs/pdd_config_common.xml
```
拼某某5保存用户的token在
```
/data/data/com.xunmeng.pinduoduo/files/pinUserFile
```
只需替换token文件,就可以实现用户的token登陆.(模拟器测试通过,真机未测试) 感谢分享学习了 又学习到了
感谢分享!!!! 可以可以 感谢分享 感谢分享,学习。 这个有啥用 学习了,果然是高人 感谢分享!!!!