江苏青年大学习分析

(编辑:jimmy 日期: 2024/12/24 浏览:2)


江苏QNDXX

自从团关系从学校迁回家,再也不能摆烂不做青年大学习了,因此我想到分析一下青年大学习的一般流程,提高一下完成效率

通过Charles抓包分析

一、关键时间点

观察整个学习流程,分为5个时间点:

  • 打开页面
  • 开始学习
  • 播放完成
  • 课后答题
  • 获得截图

其中,在作答时没有发现post请求,答题结束也没有任何验证,因此课后答题是js判断正误的,完全可以跳过,答案对错不影响完成

1、学习过程由以下4个post请求构成:

江苏青年大学习分析

江苏青年大学习分析

江苏青年大学习分析

江苏青年大学习分析

虽然域名很奇怪,但是api/event的字眼让我感觉到了不凡

其中有一些未知参数需要分析

2、截图由一个get请求完成

江苏青年大学习分析

二、参数分析

1、guid

brilliant.manual.js文件中找到了生成guid的算法:

江苏青年大学习分析

guid由以下函数生成:

function e(t, n) {  var e = new Date,      e = (e.setTime(e.getTime() + 94608e6), "; expires=" + e.toUTCString());  r.cookie = t + "=" + (n || "") + e + "; samesite=strict; path=/"}function i(t) {  t = r.cookie.match(new RegExp("(?:^|; )" + t.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)"));  return t ? decodeURIComponent(t[1]) : null}function a() {  i("b_guid");  var t = {    guid: i("b_guid")  };  return t.guid ? {    guid: decodeURIComponent(t.guid)  } : (t = {    guid: n() + n() + "-" + n() + "-" + n() + "-" + n() + "-" + n() + n() + n()  }, e("b_guid", encodeURIComponent(t.guid)), t);  function n() {    return (65536 * (1 + Math.random()) | 0)      .toString(16)      .substring(1)  }}

实际上就是通过函数n生成65536-131072之间随机整数的16进制并切割出4位,在函数a内拼接

console测试一下:

江苏青年大学习分析

2、tc

timecreate:创建时间

3、tn

timenow:当前时间

4、n

当前模块名

分为4类:

  1. 打开页面
  2. 开始学习
  3. 播放完成
  4. 课后答题

5、u、r

学习页面地址

分析打开大学习界面后的流程

江苏青年大学习分析

通过get获取页面信息,关键cookie:laravel_session

在该页面中,存在关键信息:tokenlession_id

江苏青年大学习分析

随后通过post方法获取真正的页面

江苏青年大学习分析

将地址稍作修改后得到了ur两个地址的值

6、m

学习信息

江苏青年大学习分析

得到初始的m值,随后通过修改得到所有m

7、city

area.js中得到,但混淆过,难以阅读

在打开页面时有“欢迎来自*省*市的团员”选项框,通过观察下拉选项框可以直接得出:

代码城市名1

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?