芒果TV登录加密分析

2024-02-15 11:30
文章标签 分析 加密 登录 tv 芒果

本文主要是介绍芒果TV登录加密分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

芒果TV(h5)登录加密分析

此内容更新时间: 2024/01/21, 芒果TV Web[H5]端登录分析

一、抓个包

1

很直观的参数~舒服

二、侦查它

参数说明
invokermsite不管它
username13888888888手机号
password84ca49******4a3d密码加密
pwdType1密码类型
smscode86不管它
sign41e168a185add482c71277cca9bcb0c8签名令牌
abroad0不管它
deviceid9f2f10de-093d-4079-ae9d-bc5eeedf5d26设备id
captcha图形验证码

2.1 拷问deviceid

2.1.1 算法定位

没有混淆, 直接搜deviceid 下断

deviceid_1

看看Q.gL是什么东西

deviceid_2

再看看o.eP

deviceid_3

继续往前找

deviceid_4

没啥, 若是 cookielocalstorage 存在mg_uuid这玩意儿,直接从这两个口袋里偷

首次运行肯定不存在, 所以回到Q.gL

var r = n(6835)
, i = n(7632)
, o = n(4767);
function s() {try {var t = (0,o.eP)("mg_uuid");return t || (t = (0,i.Z)(),(0,o.d8)("mg_uuid", t, 9e3, ".mgtv.com")),t} catch (e) {return ""}
}

如果o.eP()未能取到值, 则调用i.Z()来取值, o.d8()很明显就是保存了

看看i.Z() 如上代码, 这里的i导入了7632模块

deviceid_5

单纯的生成随机uuid

2.1.2 算法实现
import uuidmg_uuid = str(uuid.uuid4())
deviceid = mg_uuid

2.2 拷问password

2.2.1 算法定位

小玩意儿就是好

password_1

进入c看看是啥

password_2

这小东西好像还是个RSA加密, 没啥需要注意的, 就是拼接了时间戳和随机数之后进行加密, 如:

17058489040.112442429301682361705848904170123456

直接抠代码了

function c(t) {return y(131), t = function () {var t = String(Date.parse(new Date)).substring(0, 10),e = String(Math.random()),n = String(e + t + t + e).substring(0, 32);return t + n}() + t,function (t, e) {var n = [],r = e.length,i = 0;for (; i < r;) n[i] = e.charCodeAt(i), i++;for (; n.length % t.chunkSize != 0;) n[i++] = 0;var o, s, a, u = n.length,c = "";for (i = 0; i < u; i += t.chunkSize) {for (a = new m, o = 0, s = i; s < i + t.chunkSize; ++o) a.digits[o] = n[s++], a.digits[o] += n[s++] << 8;var f = t.barrett.powMod(a, t.e),l = 16 == t.radix ? k(f) : S(f, t.radix);c += "".concat(l, " ")}return c.substring(0, c.length - 1)}(new f("10001", "", "A5245A4630DD7CE9D8A967E33A50EB52C2634FD042C4BFBCF5A5C1317A234FD0D1D2C75D083946AF70CE480C399FAD8EEBE9F5A904F30E4D3C91CDD7C27C4D07E27015D46B29A003E9D49834E19041A7BA45A95E6161697975721E88949E8023DA682895086223683593F054E7AAE0E07C40DB33BD80EE5909CE48D17C07D097"), t)
}function f(t, e, n) {this.e = j(t), this.d = j(e), this.m = j(n), this.chunkSize = 2 * I(this.m), this.radix = 16, this.barrett = new V(this.m)
}
var l, p, h, d = 16,g = 65536,v = 65535;function y(t) {l = new Array(t);for (var e = 0; e < l.length; e++) l[e] = 0;p = new m, (h = new m).digits[0] = 1
}
y(20);
w(1e15);function m(t) {this.digits = "boolean" === typeof t && 1 == t ? null : l.slice(0), this.isNeg = !1
}function b(t) {var e = new m(!0);return e.digits = t.digits.slice(0), e.isNeg = t.isNeg, e
}function w(t) {var e = new m;e.isNeg = t < 0, t = Math.abs(t);for (var n = 0; t > 0;) e.digits[n++] = t & v, t = Math.floor(t / g);return e
}function _

这篇关于芒果TV登录加密分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711260

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配