学习分享
在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021最新上万页的大厂面试真题
七大模块学习资料:如NDK模块开发、Android框架体系架构…
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
**第三,**到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
我们先url解码看看 password
TGmwBXTQ9sE2P3v0TvTp9Ohd7MFVu49oGmaTuVsPSKjHkO09 FhGDs4pfvsz4EyPJK1MEiZHsissmVC1ok1NpXgBjR/l4R4eJ5QE B3H/VBJ80J19DcsZUDAve5lspik9Ob1g2FewafIoAENIL8wJpZAnHEA3haU4SiEaqupKRKDLxuJpEyAsufHcqNLwq/XhBAkBgvC 3kkRYbXv pCkZVMYqxCT8QiK492LEKp4XjnxdlT0xr0QGZAf/o1JSY1J91L4wwh64hLWdCbj2dShkgiT/Wpcnbtopfdjs4smw2iLtWxDigc0 1pQw79jDHnTBGAkfXKwDXsa4oYlC8Hqw==
goto: https://authweb.alipay.com/mobile/auth?v=h5&auth_type=AUTHACCOUNT&biz_type=openservice&sign=AIuHm3Q7BaDWv39Hu7udymjfpncLygKpen%2FNcZVABL8%3D&pid=2088821693967553&target_id=com.huawei.health&app_name=mc&apiname=com.alipay.account.auth&msp_type=sdk-and-lite&product_id=APP_FAST_LOGIN&scope=kuaijie&app_id=2017111309907804×tamp=1617153466948
发现是密码的加密 和 登陆地址的拼接,那就看看密码的加密是怎么来的吧~~~~
经过调试,发现加密js文件路径
https://a.alipayobjects.com/g/authcenter-assets/h5login/1.2.6/login-accpwd.js
_initComponents 处下断点,刷新网页,得到 rsaPublicKey 加密公钥
我们来验证一下是对的
得到输入的账号和密码,再进行rsa加密的密码
来看看 getRsaPassword 的具体实现
发现 rsaSalt 是空的,以后有可能不是空
getRsaPassword 调用了 this._components.rsa.encrypt(e + t)
继续看 rsa.encrypt 加密实现
就是去除密码的前面245位,然后调用 this.key.encrypt(t.substr(0, 245)) 加密,得到十六进制数
5cc2c85be0c34e189a2bab02c4f23269fba074f1e4fb76a29108d941746087b2e6006a463809eddf66f6b364ad6a735d6cbcb19fcb8121dd66af03c51f7ded4adcd5a409405f51cf135c31af34d7480d772d6af42c6d71dff7fe00c51bfb3c2d41126aeb596ec9fb195ca45a1841168ebf82c14dc902765ca04e8b3841a2992766b450119b4b91779e5b02db1ed9b4ead0ed03c6979b8e5bb08c9586e15819bb3e48d781a3afcebcbbdf172f42fe88fa31537eaa6d3efea5726b7a310abd92eb7e8eb22689a63d30306bf282f52c13779c355e04d65be887988edb84b18d602c218ed05e6c0b57a3f59e9a261c6bd4466701bb2793589bcbc1b53c210bc0208c
加密完 调用了r() Call 其实就是 hexToBase64 编码一下 得到最终密码
“fhRKPmXU+rHGvFrtreEXMGwTa0+D5WHka+6ZzLiK6Q0qLwl4JpxlnMMDL0k5+2ZGokxsXWZLpnsHklfICBWa+7Cw9iuKvxyxveKlKdZnkTsPqFkxOGvMHZcarBP79Wk/1HjTvd9zY+xa8WugbsQ/3OcOuVYjtc/U+jzOsb6MHTWMXk1ouxXc7TUUQdgdIR3cb5OPlNhlmZslLSqRKSFJ+f4icBcSZcJvyNXbXfyQqDnOC0ulii0TIdy6d+zGzTHjNvU9R7Crfd6E8gn6equ7Et0HSmTQnolJAfJB70cz1QwbMoWNqbNuvrFuSJNPdu8iNRJ9p95TJv4YTnO1rS820A==”
getFormData 密码加结果,发现和分析相同
然后发送POSt
-
- account:“1111111”
-
password:“aaaaaaaaaaa”
-
rsaPassword:“fhRKPmXU+rHGvFrtreEXMGwTa0+D5WHka+6ZzLiK6Q0qLwl4JpxlnMMDL0k5+2ZGokxsXWZLpnsHklfICBWa+7Cw9iuKvxyxveKlKdZnkTsPqFkxOGvMHZcarBP79Wk/1HjTvd9zY+xa8WugbsQ/3OcOuVYjtc/U+jzOsb6MHTWMXk1ouxXc7TUUQdgdIR3cb5OPlNhlmZslLSqRKSFJ+f4icBcSZcJvyNXbXfyQqDnOC0ulii0TIdy6d+zGzTHjNvU9R7Crfd6E8gn6equ7Et0HSmTQnolJAfJB70cz1QwbMoWNqbNuvrFuSJNPdu8iNRJ9p95TJv4YTnO1rS820A==”
调用登陆流程,t传入 checkAndPost(t),后调用 postLogin®
checkAndPost()这个是就是添加了 goto和loginScene 字段
-
goto:“https%3A%2F%2Fauthweb.alipay.com%2Fmobile%2Fauth%3Fv%3Dh5%26auth_type%3DAUTHACCOUNT%26biz_type%3Dopenservice%26sign%3DAIuHm3Q7BaDWv39Hu7udymjfpncLygKpen%252FNcZVABL8%253D%26pid%3D2088821693967553%26target_id%3Dcom.huawei.health%26app_name%3Dmc%26apiname%3Dcom.alipay.account.auth%26msp_type%3Dsdk-and-lite%26product_id%3DAPP_FAST_LOGIN%26scope%3Dkuaijie%26app_id%3D2017111309907804%26timestamp%3D1617153466948”
-
loginScene:“mobile_oauth”
-
logonId:“1111111”
-
password:“fhRKPmXU+rHGvFrtreEXMGwTa0+D5WHka+6ZzLiK6Q0qLwl4JpxlnMMDL0k5+2ZGokxsXWZLpnsHklfICBWa+7Cw9iuKvxyxveKlKdZnkTsPqFkxOGvMHZcarBP79Wk/1HjTvd9zY+xa8WugbsQ/3OcOuVYjtc/U+jzOsb6MHTWMXk1ouxXc7TUUQdgdIR3cb5OPlNhlmZslLSqRKSFJ+f4icBcSZcJvyNXbXfyQqDnOC0ulii0TIdy6d+zGzTHjNvU9R7Crfd6E8gn6equ7Et0HSmTQnolJAfJB70cz1QwbMoWNqbNuvrFuSJNPdu8iNRJ9p95TJv4YTnO1rS820A==”
这个是网页发包数据,和分析的加密密码一样
_json_token 是上次返回的的
接下来就是json_ua 的解密了
继续分析 post
文末
架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了,我们需要一个真正身经百战的架构师才能讲解透彻其中蕴含的深理。
一线互联网Android面试题总结含详解(初级到高级专题)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!