项目地址
开源库 https://github.com/FZSZXXB/ClassSchedule
Demo https://dev.hellocraft.xyz/ClassSchedule/
起因
学校信息部发布了一个任务 需要在微信公众号上快捷查询课程表
其实还有一堆别的任务 摸了个最轻松的
干活
前端
随便找了个课程表js糊上去
然后稍微美化了一下
加上 cookie 和 localStorage 的缓存免得每次打开都得重新选择班级
再加个pwa方便添加到桌面
开源库链接
后端
因为前端的暴力数据填充(详见github data.js)
总不能每个学期手写json
然后就打开了手上唯一能查看学校课程表的内部
app校智达
但这破玩意需要登录账户 而且是校方发放的
还好手上有个公用(?)账户
黄鸟启动 capture package
一堆api套娃 拉到了课程表
但测试环境用的是固定token接下来研究登陆部分
果然 密码是加密的 算法还一眼看不出来
逆出来的一部分代码
逆向(众所周知,就不放图了)
apk解压 dex2jar jdgui三件套准备
等等 mt管理器显示这玩意是360加固?https://www.google.com/search?q=360加固脱壳
噼里啪啦一顿操作 貌似有用上xposed 终于拉到了正确的dex
dex2jar一下 jdgui打开
还好混淆的不多
直接搜索uri关键词 还好没有加密 直接定位到加密部分
发现还是看不懂
直接换成java写自动获取 把加密代码全部复制出来 debug到能跑
然后在找个json库把数据格式化输出
完工
后记
项目最初完工于2021/03/12
最开始还是想着自己完全新做一个的
然后发现还是用造好的轮子香
cookie 和 localStorage 都是因为自用而加的功能(
以及
学校服务器三天两头维护/不开机
只好本地维护一份自用
以及自动更新没写说明 而且只给了源码
希望后面的人会用不过现在看来没有人会用
评论已关闭