前几天花了一些时间, 主要是出于好奇和学习的目的, 反编译了无限宝… 以此文总结近一阶段学到的新知识和一些其他的收获吧(?).
软件协议逆向
主要是逆向了网络协议, 但是如果我公布出来被拿去乱玩的话, 无限宝还是会改, 没什么意义, 所以一些具体的细节就隐藏了.
首先是一次 HTTP 登陆, 把用户名.密码(加盐hash), 通过 http 协议发送到 xx.kehou.com, 然后会被重定向到 login.kehou.com 这个域名, 返回一个 ini 格式的文件, 里面包含了你的基本信息和下一步要用到的 LoginServer.
接下来会将返回的 userId, meetingId, name, role 等信息发送到 LoginServer, 和开发人员聊过天之后, 发现 LoginServer 其实不知道你的任何信息, 是通过一个 hash 函数加密之后做的验证.(只不过现在最新版2020/04 好像换了一个函数, 原理类似.)
然后登陆入课堂就可以发送相关操作的包了.
Xposed 开发
源码没有混淆, 只是加了壳, 想要逆向还是不复杂的.
主要就是 Hook 了相关内容之后
关于软件权限问题
- 安卓摄像头权限
开始发现这个软件会在启动的时候申请所有的运行时权限(比如麦克风, 摄像头), 所以老师在上课的时候可以直接打开你的摄像头… 这样写就使得安卓的运行时权限失去了它本来的意义.
开始我不知道为什么这个软件要这么设计, 也难免遭人质疑是否滥用摄像头获得的数据.
后来因为放在 Github 上反编译的代码被发现了, 然后趁机联系到了他们的开发人员. 问到了答案, 这么一说也非常有道理.(果然还是没有什么开发经验….)
1 | 无限宝开发 2020/3/13 13:22:46 |
- PC 驱动问题
1 | lyc8503 2020/3/15 21:10:23 |
也算是颇有收获?
本文采用 CC BY-NC-SA 4.0 许可协议发布.
作者: lyc8503, 文章链接: https://blog.lyc8503.net/post/vizpower-conclusion/
如果本文给你带来了帮助或让你觉得有趣, 可以考虑赞助我¬_¬