吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9731|回复: 164

[原创] 超星网课协议分析报告

    [复制链接]
发表于 2018-9-11 12:08 | 显示全部楼层
本帖最后由 jokin1999 于 2018-9-15 00:13 编辑

教程地址:https://wr.twocola.com/2018/08/01/web-lessons.html

前言

今年6月左右就已经完成对超星的协议分析了,并且制作了一些相关的小脚本供大家使用,但相信还是有很多人想知道我是如何对超星的协议进行分析的,接下来会带大家慢慢分析。

需要额外声明的是:目前超星已经加入了对H5的支持,通过简单的review可以发现其可能对加密协议进行了加密,可以简单参考下图。

jiami

jiami

所以暂时不考虑从H5方向进行分析,转向flash,因为像超星这样的平台必定会对比较老的一些浏览器进行支持,所以必然会有swf或flv文件存在,这可能就成为了本次分析的重要线索。

下载播放器

通过使用IE浏览器打开超星的课程页面,发现其使用了flash播放器,被我们抓了个正着!果断下载其flash播放器

反编译播放器

swf文件就好解决的多了,使用JPEXS Free Flash Decompiler工具对其进行反编译。

ffdec

ffdec

至此我们已经得到了一个文件夹的ActionScript文件。

actionscripts.png

分析协议

不能盲目一个一个去看脚本是怎么写的,通过播放、暂停等对超星页面的视频操作,并使用Chrome开发者工具进行XHR抓包,得到下图的GET通信。

xy1

xy1

xy2

xy2

从这条XHR通信包可以看出,超星在我们对课程视频进行操作时,会向服务器提交影片时间影片ID课程ID用户相关信息播放时间以及一个加密的验证字段enc

我们需要在其他地方找到这些信息,于是通过对其页面源码的搜索,发现了除播放时间enc字段外的所有信息。

frame.png

于是我们需要把重心放在enc这个诡异的字段上了。

通过仔细辨认这个诡异字段,从一个合格计算机爱好者的直觉出发,这应该是一条MD5或者其他如希哈算法等生成的一条签名信息,服务器是通过这条信息判断传输过去的数据的有效性的。

优先假设这是条MD5算法得出的值,我们将计就计,在之前导出的的ActionScript文件夹中不分大小写于全文件夹搜索MD5,果不其然,有结果。

md5

md5

然后小眼一瞟,这不是熟悉的enc字段吗,虽然有2个结果,但是直觉告诉我,答案就在这里!!!果断查看对应行!!

jm1

jm1

鉴于其为ActionScript我们为其加上对于JavaScript格式分析的代码色彩。

jm2

jm2

一下子舒服多了有没有!

我们仔细看其算法,变量url中并没有之前协议中抓取到的playingTime,我们节省时间,再看另一个enc的代码。

jm3

jm3

看到playingTime和其他在之前包中的字段!!那么我们就尝试使用其对数据进行签名!

抓到MD5加密算法之后,后面的流程就很简单了!

模拟协议

查看其原生协议的返回值,其返回了一个json数据,包含了通过了信息。

answer

answer

经过测试,如果胡乱填写enc字段,其返回false

原理分析中,我提到有未能抓取的字段,那是为了自动刷完所有课程设计的东西,在后来发布的脚本中,我没有使用这个方法,而是使用浏览器的开发者工具抓取,虽然需要挂着,但更保险。

在制作协议之前,我们先需要引用MD5算法(谁让JS原生不支持MD5呢)。

然后我们需要对课程页面进行iframe的抓取,其的data信息(课程信息)我们需要使用,详情查看源代码中的getCourseInfo方法,代码比较简单,这里就不再赘述了。

源代码开发时超星并不支持H5,所以部分参数上可能有出入!此分析主要通过H5进行分析

获取到课程信息后我们需要对服务器发送2条信息,1条是视频开始播放的位置记录,另一条是视频播放完成辣~

通过测试,发现2次信息发送间隔不能小于30秒左右,如果小于这个值,超星也会返回false

具体的协议加密、发送请查看源文件,这里就不再赘述了,脚本比较简单,有jQuery基础的同学都能看懂。

总结

别看超星恶心,其实还是给我们留了后路的。

如果真的要赶尽杀绝,那就只用H5了,这加密的js脚本这是让人头疼。

分析其协议最困难的部分就是找到它的MD5算法,其实第一次对其分析的时候,我还真对它的MD5猜过,但是意料之中的失败了。

希望这篇分析报告能对你有所帮助,所有的源码可以在我的GitHub查看。

免费评分

参与人数 68吾爱币 +64 热心值 +57 收起 理由
云浮~ + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
l8900016 + 1 我很赞同!
c0okie5 + 1 热心回复!
漆黑的骨头 + 1 + 1 谢谢@Thanks!
snccwt + 1 + 1 谢谢@Thanks!
52pjlzy6380009 + 1 稳得一批
Nidhoggr + 1 + 1 我很赞同!
zhgkay + 1 + 1 热心回复!
曲径通幽处 + 1 大兄弟,那个超星不会自动跳过以刷的课程啊
哈勃卫星 + 1 热心回复!
善良的男神 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
junty + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
电线上的苍蝇 + 1 + 1 谢谢@Thanks!
ghost0zxc + 1 + 1 很强
jnez112358 + 1 + 1 谢谢@Thanks!
guogxd + 1 我很赞同!
gazerhuang + 1 + 1 我很赞同!
哈哈衬 + 1 + 1 我很赞同!
Ruinddd + 1 鼓励转贴优秀软件安全工具和文档!
灌汤包不灌汤 + 1 + 1 大哥玩的真秀啊
tokaku + 1 谢谢@Thanks!
觇望 + 1 我很赞同!
zhoulinwei + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
13594611244 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
June@ck + 1 + 1 感谢老哥!!!!!
SomnusXZY + 1 + 1 谢谢@Thanks!
Brokener + 1 + 1 老哥 稳的很
disikejj + 1 + 1 巴适得很
YawningSword + 1 我很赞同!
极品菜雀 + 1 + 1 太厉害了吧!
wjh19980419 + 1 + 1 用心讨论,共获提升!
jianailing + 1 + 1 我很赞同!
xlose13720 + 1 大神,最好能写下这种分析以后怎么利用
cwl + 1 谢谢@Thanks!
水墨青云 + 1 + 1 我很赞同!
空巷青年 + 1 + 1 热心回复!
JJ长脸上 + 1 + 1 用心讨论,共获提升!
keep_csharp + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
a258905374 + 1 + 1 用心讨论,共获提升!
又红又专 + 1 + 1 大哥能推荐一下你这种分析网页抓包的教程吗
氓之嗤嗤 + 1 + 1 我很赞同!
涛之雨 + 2 + 1 谢谢@Thanks!
Ganlv + 1 + 1 用心讨论,共获提升!
x849247823k + 1 + 1 热心回复!
?殇仙 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
han980420 + 1 + 1 谢谢@Thanks!
会飞的老鼠 + 1 热心回复!
小小小英雄啦 + 1 + 1 用心讨论,共获提升!
youhen233 + 1 + 1 谢谢@Thanks!
mincai + 1 + 1 谢谢@Thanks!
特别快递 + 1 + 1 我很赞同!
poisonbcat + 1 + 1 用心讨论,共获提升!
c0de-man + 1 + 1 热心回复!
RoB1n_Ho0d + 1 热心回复!
sunnylds7 + 1 + 1 热心回复!
bfchengnuo + 1 + 1 谢谢@Thanks!
seeyou_shj + 1 + 1 用心讨论,共获提升!
我爱吃香菜 + 1 + 1 我很赞同!
草哥快跑 + 1 + 1 我很赞同!
三水非冰 + 1 + 1 我很赞同!
1051496412 + 1 + 1 我很赞同!
panjun + 1 + 1 我很赞同!
17553573 + 1 + 1 热心回复!
jaffa + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
36449708 + 2 + 1 我很赞同!
Blanker + 1 + 1 太厉害了!
q5q1234567 + 1 大表哥玩协议的呀
demon_lin + 1 兄弟,稳!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-12 13:09 | 显示全部楼层
那个加密的JS好像是JSFUCK加密方式

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 22:29 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:47 | 显示全部楼层
看了这篇文章感觉如沐春风,从未有过的豁然开朗,谢谢up主

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 16:36 | 显示全部楼层
超星是真的恶心,我已经分析过了,嗯,定时get,最后被封。上学期事儿

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 16:41 来自手机 | 显示全部楼层
感谢分享教程。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:02 | 显示全部楼层
所以今年的网课不用自己看了?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:07 | 显示全部楼层
稳如老狗啊 兄弟 可惜用不上了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:13 | 显示全部楼层
还是老老实实上课吧。。。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:16 | 显示全部楼层
确实用不上了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:21 | 显示全部楼层
我上学那会不敢用这些东西,找了一个软件,名字忘了,功能就是检测到屏幕5秒没有活动的时候自动点击一下,夜晚睡觉时候把课挂上,早上起来就可以直接搜题做了,这种挂课方式非常安全,就是得自己做题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:38 | 显示全部楼层
哪位兄台能够解释下什么意思?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-9-11 17:46 | 显示全部楼层
虽然看不懂,但是觉得很;厉害

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2018-9-26 01:31

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表