chanmama响应数据解析

0x00目标url

aHR0cHM6Ly93d3cuY2hhbm1hbWEuY29tL2F1dGhvckRldGFpbC85OTI0MjExODcxOC9wcm9tb3Rpb24=

0x01接口分析

简单的get
在这里插入图片描述
但是返回数据被加密了
在这里插入图片描述
这里我们就来想想怎么解密这些数据。首先后端发来的数据是加密的,但是我们在前端看到的可不是加密后的数据。前端必然存在解密的js函数。

0x02定位解密函数

可以直接看看发起程序。这里有更快捷键的方式就是搜索decrpt
在这里插入图片描述
下断点后进行调试。
在这里插入图片描述
在这里插入图片描述
可以看到经过ungzip函数后,解密数据e被解密了,这时我们可以进行rpc,即可获取完整的解密数据。但是我们可以仔细研究下这个ungzip是什么。

0x03关键函数扣取

 n = _.enc.Utf8.parse("cmmgfgehahweuuii"),
 a= _.AES.decrypt(e, n, {
     mode: _.mode.ECB,
     padding: _.pad.Pkcs7
 }),
 i = O(a),
 r = x.ungzip(i, {
     to: "string"
 })

第一个ECB模式的decrypt可以用Crypto-js方便地实现,然后直接跟进ungzip函数
在这里插入图片描述
在这里插入图片描述
Fi函数即使ungzip,正常来说,我们只要把代码扣下来,放到本地运行,然后根据报错信息进行补全(补环境即可)。但是我们把文件拉到最开始,你会发现是webpack打包后的js文件。
那么如何应对呢?
首先要知道webpack是什么以及起到的作用,简单来说webpack就是把要到的js文件进行打包,当然开发者也有可能对其中的js文件进行混淆,作为保护js代码的防护措施。那么打包的型式就有单文件打包和整体打包。同时打包后的模块需要导出才能使用,模块与模块之间可能会存在依赖关系,需要具体情况具体分析,这里推荐一个视频,lx大佬在b站录制的–
https://www.bilibili.com/video/BV1QS4y1i7vp/?spm_id_from=333.337.search-card.all.click&vd_source=ea03b03f388e19d21c8823f140d40a8b

现在回到本文.
在这里插入图片描述

从这里看到是整体打包,先全部扣取到本地。
在这里插入图片描述
我们搜索Fi(e,函数,定位到acff
在这里插入图片描述
复制到一个新的js文件

接着先用Crypto-js实现第一部分的AES解密

const CryptoJs = require("crypto-js");
const cfg = {
    mode:CryptoJs.mode.ECB,
    padding:CryptoJs.pad.Pkcs7
}
function O_(t){
    var e, n, a = t.words.length, i = new Uint8Array(t.sigBytes), r = 0;
    for (n = 0; n < a; n++)
        e = t.words[n],
            i[r++] = e >> 24,
            i[r++] = e >> 16 & 255,
            i[r++] = e >> 8 & 255,
            i[r++] = 255 & e;
    return i
}
let key = CryptoJs.enc.Utf8.parse("cmmgfgehahweuuii")
var enc_data = "ka+WNHBuUPTHPXSmTK/vnmD7GVU3MIlUFcCxJk3sRMICNxFcF0NVrlkcwXTAqXvl/ZwBgfRW09jyay6iO8z3Poy+FcvgBD5fV3tk0177InpE2xH2shl8DeqN1p2Qz0x+EPhiJxj609ghJGaBKyeUBzzJobWH+pBEFOk0CDCqFUh2HikNsTO3rTJ2vwpovpA6GszQFSSY2Sj/Kp/NYTqTjThCe08TcxtkmctKs+NcvqyweHrk0jRbOec9c1QIcOIaFaAHCCe6oy9I/Hoi3F5kWk+dAErur0W1ZdxxQStMn0C7yx2hi+qxiYxoGtaYvHatKcR9EY3WDvhUmlwS63XOaZ4Gjay2vPNVi8UtF0LZkQE3AmdUa6P1Bmxd1de14WtEP4F/EK/WiEVcrV3AzzS1dy00n+EAkSiWXYApMgI10KbdPxukWn0QXPlk/YT0/sv4fQRXn8Q3hmX3Q/YJ2UAcZA=="
var dec_data = CryptoJs.AES.decrypt(enc_data,key,cfg)
var i_ = O_(dec_data)
console.log(i_)

与浏览器的数据对比,可以看到完全一致
然后我们将acff有关n的注释掉
在这里插入图片描述
最终得到了可以运行的解密函数。

0x04解密结果

在这里插入图片描述

{"volume_chart":[{"date":"20230401","first":0,"second":64248,"second_text":"5w~7.5w"},{"second":158192,"second_text":"10w~25w","date":"20230402","first":0},{"date":"20230408","first
":0,"second":123907,"second_text":"10w~25w"},{"date":"20230412","first":0,"second":107826,"second_text":"10w~25w"},{"date":"20230415","first":0,"second":154260,"second_text":"10w~25
w"},{"date":"20230423","first":0,"second":195428,"second_text":"10w~25w"}],"amount_chart":[{"date":"20230401","first":0,"second":2737909.51,"second_text":"250w~500w"},{"date":"20230
402","first":0,"second":10213450.8,"second_text":"1000w~2500w"},{"date":"20230408","first":0,"second":8599872.58,"second_text":"750w~1000w"},{"second_text":"750w~1000w","date":"2023
0412","first":0,"second":8676732.92},{"date":"20230415","first":0,"second":10139499.41,"second_text":"1000w~2500w"},{"second_text":"1000w~2500w","date":"20230423","first":0,"second"
:15799242.52}],"aweme_chart":[{"date":"20230401","first":0,"second":0},{"first":0,"second":0,"date":"20230402"},{"date":"20230408","first":0,"second":0},{"date":"20230412","first":0
,"second":0},{"date":"20230415","first":0,"second":0},{"date":"20230423","first":0,"second":0}],"room_chart":[{"date":"20230401","first":64248,"second":2737909.51},{"date":"20230402
","first":158192,"second":10213450.8},{"date":"20230408","first":123907,"second":8599872.58},{"second":8676732.92,"date":"20230412","first":107826},{"date":"20230415","first":154260
,"second":10139499.41},{"second":15799242.52,"date":"20230423","first":195428}]}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/19269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是零拷贝?

零拷贝 什么是零拷贝 零拷贝指的是&#xff0c;从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底层是 通过DMA总线技术实现的。零拷贝与具体的编程语言无关&#xff0c;完全依赖于OS&#xff0c;OS支持就可使用&#xff0c;不支持 设置了也不起作用…

大厂视频面试,因为截屏作废

大厂视频面试现在这么严格了么&#xff1f;无意间按到截屏直接显示面试作废&#xff0c;好在最后和HR解释了下&#xff0c;再约时间重新面。 作为一个面试过3、4家大厂&#xff0c;现在在鹅厂工作的过来人来说&#xff0c;上面遇到的这个问题是AI面&#xff0c;不用太担心&…

笔记本电脑开机黑屏没反应怎么办?

笔记本电脑开机黑屏没反应怎么办&#xff1f;有用户电脑开机之后&#xff0c;桌面会变成黑屏显示。而且是常常都会出现这样的问题&#xff0c;非常影响自己的电脑使用体验。那么遇到这个问题要怎么去进行问题的解决呢&#xff1f;来看看以下的解决方法吧。 准备工作&#xff1a…

玩游戏时突然弹出”显示器驱动程序已停止响应并且已恢复”怎么办

随着3A游戏大作不断面市&#xff0c;用户也不断地提升着自己的硬件设备。但是硬件更上了&#xff0c;却还会出现一些突如其来的情况&#xff0c;比如正准备开启某款游戏时&#xff0c;电脑右下角突然出现“显示器驱动程序已停止响应并且已恢复”。遇事不慌&#xff0c;驱动人生…

java lambda表达式详解

一、Lambda初识 我们知道&#xff0c;在Java中&#xff0c;接口是不能实例化的&#xff0c;但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢&#xff1f;那还可以使用匿名类的方式&#xff0c;如下: public class JavaTest { public static void main(Strin…

某程序员哀叹:二本计算机,4年开发,年包才40多万。二本真的不如985/211吗?

前段时间&#xff0c;某职场论坛上有人发了一个帖子&#xff0c;发帖人问&#xff1a;为什么大家工资那么高&#xff0c;三五年都六七十万了&#xff1f;我二本计算机专业&#xff0c;四年前端开发&#xff0c;找个年包40万多点就顶头了。 原贴如下&#xff1a; 有网友表示楼主…

2022年平均工资出炉,IT行业又是第一

根据5月9日国家统计局最新资料显示&#xff0c;2022年&#xff0c;全国城镇非私营单位就业人员年平均工资为114029元&#xff0c;比上年增长6.7%&#xff0c;扣除通胀后实际增长4.6%。其中&#xff0c;行业间的差距相当明显。根据资料显示&#xff0c;2022年无论是在私营单位还…

Android---bitmap优化

目录 Bitmap 占用内存大小计算 Bitmap | Drawable | InputStream | Byte[] 之间进行转换 Bitmap 相关方法 BitmapFactory 工厂类 Bitmap 占用内存大小计算 Bitmap 作为位图&#xff0c;需要读入一张图片中每一个像素点的数据&#xff0c;其主要占用内存的地方也正是这些像…

python进阶--月考二

python进阶--月考二 &#xff08;一&#xff09;装饰器&#xff08;二&#xff09;创建名为express.py文件&#xff0c;编写以下推导式&#xff08;25分&#xff09;&#xff08;三&#xff09;创建名为process_test.py的文件&#xff0c;计算1-3000之间的水仙花数&#xff08;…

QT MD4 MD5 Sha1等几种加密方式

QT MD4 MD5 Sha1等几种加密方式 [1] QT MD4 MD5 Sha1等几种加密方式[2] qt MD5 和AES 加密一 、MD5 加密二、AES 加密和解密 [3] QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3&#xff08;1&#xff09;创建一个加密对象&#xff08;2&#xff09;放入要加密的数据&…

目前可用的ChatGPT网站

本文意在整理可用gpt-3.5、gpt-4.0等网站。 本文主要是方便自己翻阅&#xff0c;如对您也有所帮助&#xff0c;不胜荣幸~ 文章目录 chatgpt.qdymys.cngpttalkchatgpt-cn.cobing.comchat机器人wuguokai.cn总结 chatgpt.qdymys.cn 网址&#xff1a;https://chatgpt.qdymys.cn/限…

SpringCloud —— eureka

目录 1.认识微服务 1.0.学习目标 1.1.单体架构 1.2.分布式架构 1.3.微服务 1.4.SpringCloud 1.5.总结 2.服务拆分和远程调用 2.1.服务拆分原则 2.2.服务拆分示例 2.2.1.导入Sql语句 2.2.2.导入demo工程 2.3.实现远程调用案例 2.3.1.案例需求&#xff1a; 2.3.2.注…

mysql进阶-查询优化-慢查询日志

文章目录 一、什么是慢查询日志二、慢查询日志能干什么2.1 性能分析和优化2.2 诊断和排查问题2.3 数据分析和探索 三、慢查询日志实战3.1 永久开启开启慢查询日志3.2 临时开启慢查询日志3.4 常用命令 四、如何分析慢查询日志五、优化慢查询语句五、总结 一、什么是慢查询日志 …

观察者设计模式(Observer Design Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]

文章目录 概念组成角色相关图示示例代码框架中的运用适用场景 概念 观察者设计模式&#xff08;Observer Design Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种对象间的一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象&#xff0c;当…

SpringBoot 配置文件

前言&#xff1a; 本篇主要介绍两种配置文件格式&#xff0c;分别为properties与yml(yaml)。 需要注意的是&#xff1a; 两个配置文件从功能上来讲是可以同时存在的&#xff0c;但是企业中通常会规定使用某一种格式的配置文件。如果同一个配置出现在两种格式的配置文件中的话&a…

微波方向有哪些SCI期刊推荐? - 易智编译EaseEditing

微波方向的SCI期刊推荐包括&#xff1a; IEEE Transactions on Microwave Theory and Technology&#xff1a; 该期刊是电磁场与微波技术领域的著名期刊&#xff0c;被世界上许多研究机构和大学广泛引用。 IEEE Transactions on Antennas and Propagation&#xff1a; 该期刊…

English Learning - L3 作业打卡 Lesson1 Day5 2023.5.9 周二

English Learning - L3 作业打卡 Lesson1 Day5 2023.5.9 周二 引言&#x1f349;句1: Fast loud music is popular with many people .成分划分爆破语调 &#x1f349;句2: They may say the music is red hot, especially the kind called Dixieland jazz.成分划分爆破语调 &a…

AI孙燕姿项目实现

最近在b站刷到很多关于ai孙笑川唱的歌曲&#xff0c;加上最近大火的ai孙燕姿&#xff0c; 这下“冷门歌手”整成热门歌手了 于是写下一篇文章&#xff0c; 如何实现属于的ai歌手。 注意滥用ai&#xff0c;侵犯他人的名誉是要承担法律责任的 下面是一些所需的文件链接&#xff…

低代码信创开发核心技术(一):基于Vue.js的描述依赖渲染DDR实现模型驱动的组件

前言 随着数字化转型的不断发展&#xff0c;低代码开发平台已成为企业快速建立自己的应用程序的首选方案。然而&#xff0c;实现这样一个平台需要具备高效、灵活和可定制化的能力。这正是基于描述依赖渲染&#xff08;Description dependency rendering&#xff09;所实现的。…

C语言CRC-16 XMODEM格式校验函数

C语言CRC-16 XMODEM格式校验函数 CRC-16校验产生2个字节长度的数据校验码&#xff0c;通过计算得到的校验码和获得的校验码比较&#xff0c;用于验证获得的数据的正确性。基本的CRC-16校验算法实现&#xff0c;参考&#xff1a; C语言标准CRC-16校验函数。 不同应用规范通过对…