2024年最全Python 爬虫破解移动端登录,阿里Python面试题

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在我们多次发起获取验证码的操作之后,我们得出一个规律:参数中的 token 保持不变,与请求时间没有关系;请求头的 token 会随着时间的变化的也会发生变化。

我们利用 Android Crack Tool对 APK 应用进行反编译,得到源码 Jar 包。

Python 爬虫破解移动端登录

然后就可以使用 jadx-gui 工具打开源码 Jar 包,通过请求地址中的「关键词:login」搜索源码,就能找到请求发送的位置。

Python 爬虫破解移动端登录

由于应用源码打包的时候混淆了代码,因此,我们需要根据上面的搜索结果去定位参数初始化位置及实现逻辑。

Python 爬虫破解移动端登录

逐步往上追溯应用源码,可以找到按钮点击事件的监听函数。

具体实现逻辑是把用户输入的手机函数传给混淆后的函数 :b()

Python 爬虫破解移动端登录

点击查看函数 b() 的实现逻辑,会发现方法中对手机号码进行了截取,获取当前日期时间,进行字符串的「第一次拼接」操作。

Python 爬虫破解移动端登录

对第一部分的拼接我们用 Python 代码进行实现。

Python 爬虫破解移动端登录

第一次拼接完成之后,我们发现又调用了一个函数 a(),参数为上面拼接生成的两个变量。

函数 a() 的内部使用「DES + Base64」加密算法来进行第二步的处理。

Python 爬虫破解移动端登录

加密的操作用 Python 可以很轻松的实现。

Python 爬虫破解移动端登录

需要注意的是,b()函数的最后一行,对第二步生成的字符串进行了特殊字符的替换操作,生成 Token 之前需要对数据进行同样的处理。

Python 爬虫破解移动端登录

通过以上三步操作,就可以生成网络请求中的参数 Token。

同样的方式,针对请求中的 Token,我们通过查询 token 关键字查询源码。

Python 爬虫破解移动端登录

通过观察,我们发现类 e 中的 b()函数的功能就是往请求中添加请求头,继续查看函数 b() 的实现类,发现这个类也全部被混淆了。

Python 爬虫破解移动端登录

如果你细心一点,一定会发现当前实现类的包名是 Okhttp3,我们可以从 Github 下载 Okhttp3 的源码,然后进行对比,就能很清晰的知道里面的实现逻辑了。

ps:okhttp 是 Android 使用很多一个网络请求库。

Python 爬虫破解移动端登录

通过对比没有混淆过的代码,可以很容易的编写出生成请求头中 Token 的逻辑。

Python 爬虫破解移动端登录

至此,这一步就完成两个 Token 的生成。

第 3 步就可以利用 Python「模拟发起一个请求」,来获取手机验证码了。

Python 爬虫破解移动端登录

同理,后面的登录请求也是先通过抓包,使用上面生成的 Token 逻辑去修改请求头中 Token,然后模拟请求,就可以正常登录了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值