wince 百度地图懒人包_百度地图登录过程抓包遇到的问题(一)

本文讲述了作者在尝试通过抓包分析百度地图登录过程时遇到的SSL Pinning问题。当使用自定义抓包脚本时,除登录包外的其他网络请求都能被捕捉到。作者怀疑百度地图采用了新的证书锁定技术,通过反编译和代码分析,确定登录过程使用了内嵌WebView,并锁定了可能导致问题的passportSDK类。计划进一步寻找引发网络连接失败的异常代码段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9e6e5f1354ae79b7034512d9a7cdac07.png

今天遇到个小问题,我想抓包看看百度地图的登录过程,看能不能用纯协议搞出来通讯协议,而不是用selenium将就,但是半路发现,我用上自己写的抓包脚本,用Frida来Hook百度地图是无法抓到登录包的,但是其余的包,例如用户信息历史轨迹等,都可以顺利抓到,这就让我彻底疑惑了,难道百度又有了什么证书锁定的新方法?还是咋回事...我那个Hook脚本竟然会不起作用?这就激发了我的研究热情...

0485c698670988768ca2f0c48a464077.png

就在这个界面,我只要开代理,界面就显示网络连接失败,这种直接断网的套路,应该就是SSL Pinning没有成功绕过,也就是说,可能百度用到了新的证书锁定技术~

接下来我尝试换种方法,先看看百度地图的顶层活动名称是啥:

adb shell dumpsys activity | findstr mFocusedActivity

6af523c6a89ff70ee027d539b3c2885b.png

接下来反编译一下,找到这个activity,瞧瞧里面的代码是怎么回事:

37e4598c1a9f960d3724a00e3fc9d127.png

接下来,定位到了错误提示代码,这里就是回馈给前端错误提示的代码:

6f4afdfaeea9e3db6f2220202678a733.png

接下来继续一步一步向上回溯:

2c8bb541c7266ba092d6f573f73f1a06.png

可以确认百度地图的登录确实是内嵌了webview,使用网页登录。

接下来继续找,看看到底是哪里不让我抓包,我怀疑是这里在搞事情:

3e0bae8472ed6371e4cf2dcfbe57150e.png

4d0a57de666175d3a1f0c6f348eb0a92.png

进入passportSDK这个类看看:

0e00bd846fe648e46b9806d58bbe8f45.png

可以确定应该就是这个类内部有问题,接下来看到底是哪里的代码会发现我挂了代理在抓包呢?如何确定呢?我认为需要回过头看这里:

fbfa34ffde79d36d48f24a11d881975d.png

这里的代码是用try...catch方法来捕获异常,如果有异常就会给前端反馈网络连接失败,所以剩下的体力活就是---在可疑的代码块附近寻找抛出异常的点,仔细看,判断可疑代码到底是不是检测我挂代理的代码即可~

剩下的体力活明天搞,今天思路已经出来了~快到十二点了,准备恰饭~

觉得好看的铁铁们可以关注一哈:

599d15c7dfa96d0f2b5fd94af9e83a5f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值