【js逆向学习】酷我音乐排行榜 python+nodejs(webpack)

逆向目标

  • 目标网址: https://www.kuwo.cn/rankList
  • 目标接口: https://www.kuwo.cn/api/www/bang/bang/musicList
    • 加密参数:
      • 参数一:secret
      • 参数二:reqId

逆向过程

老规矩先分析网络请求,我们可以分析到网络请求是通过ajax进行的,并且主要涉及两个加密参数,即secret和reqId。根据分析网络请求的结果,我们可以初步得出结论:这两个加密参数secret和reqId分别用于请求的加密和请求的唯一标识。
在这里插入图片描述
在这里插入图片描述

逆向分析

我们先来分析 Secret,直接搜索这个字符串
在这里插入图片描述
如上图只有一个搜索结果,我们跟进去分析一下代码,打个断点然后刷新网页,发现断住了
在这里插入图片描述
关键代码如下

	"/api/www" === t.url.substring(0, 8) || "/api/v1" === t.url.substring(0, 7)) {var e = Object(d.c)(m);r.a.defaults.headers[v] = f(e, m)}

其中 m 是个固定值 m = "Hm_Iuvt_cdb524f42f23cer9b268564v7y735ewrq2324",我们看下参数 eObject(d.c)(m) 得来的,我们跟进去

f = function(t) {var e = document.cookie, n = e.indexOf(t + "=");if (-1 != n) {n = n + t.length + 1;var o = e.indexOf(";", n);return -1 == o && (o = e.length),unescape(e.substring(n, o))}return null}

代码逻辑很简单, e 是取的包含所传字符串的 cookie
在这里插入图片描述
至此两个用于加密的参数我们都拿到了,再看下加密的方法
在这里插入图片描述

    function f(t, e) {if (null == e || e.length <= 0)return null;for (var n = "", i = 0; i < e.length; i++)n += e.charCodeAt(i).toString();var o = Math.floor(n.length / 5), r = parseInt(n.charAt(o) + n.charAt(2 * o) + n.charAt(3 * o) + n.charAt(4 * o) + n.charAt(5 * o)), c = Math.ceil(e.length / 2), l = Math.pow(2, 31) - 1;if (r < 2)return null;var d = Math.round(1e9 * Math.random()) % 1e8;for (n += d; n.length > 10; )n = (parseInt(n.substring(0, 10)) + parseInt(n.substring(10, n.length))).toString();n = (r * n + c) % l;var f = "", h = "";for (i = 0; i < t.length; i++)h += (f = parseInt(t.charCodeAt(i) ^ Math.floor(n / l * 255))) < 16 ? "0" + f.toString(16) : f.toString(16),n = (r * n + c) % l;for (d = d.toString(16); d.length < 8; )d = "0" + d;return h += d}

f 方法看下来可以直接拿出来用,到这里 Secret 参数我们已经拿到了,接下来我们来分析 reqId,关键词搜索,然后在搜索结果处都打上断点,刷新下网页,发现断住了
在这里插入图片描述
直接跟进去单步调试
在这里插入图片描述
返回了一个函数,跟进去这个函数可以发现是个 webpack 文件
在这里插入图片描述
跟进 l() 源码,熟悉 webpack 的兄弟们应该很清楚
在这里插入图片描述
我们直接跟 n 进去,就是加载函数了,如果点不进去说明失效了,直接刷新一下网页再进就行了
在这里插入图片描述
接下来要做的就简单了,我们先把加载的代码扣下来,把加载函数导出一下,导出可以用 exports 也可以用 window ,这几个看个人习惯,接下来就要扣具体的执行逻辑了
在这里插入图片描述
可以看到 112模块 内部又调用了键值为 147、148 对应的函数,直接把这几个函数扣出来,放到加载器里,扣完之后本地执行一下
在这里插入图片描述
把环境简单补一下再执行
在这里插入图片描述
可以看到有结果了
在这里插入图片描述
至此两个加密参数我们都分析结束了

逆向总结

整个分析走下来,发现稍微有点难度的就是 webpack,当然也可以硬扣,大家感兴趣的可以尝试一下,需要源码的后台私信我

原创声明:未经许可,不得转载。
如有侵权,请联系作者删除删除

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【研赛E题成品论文】24华为杯数学建模研赛E题成品论文+可运行代码丨免费分享

2024华为杯研究生数学建模竞赛E题成品论文已出&#xff01; E题 高速公路应急车道紧急启用模型 一、问题一模型建立与求解 1.1 问题一求解思路 赛题要求我们基于四个观测点的视频数据&#xff0c;提取交通流参数并分析这些参数随时间的变化规律。交通流参数包括&#xff1a;…

JAVA并发编程系列(11)线程池底层原理架构剖析

面试官&#xff1a;说说JAVA线程池的几个核心参数&#xff1f; 之前我们用了10篇文章详细剖析了synchronized、volatile、CAS、AQS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、并发锁、Condition等各个核心基础原理&#xff0c;今天开始我们说说并发领域的各种…

ChatGLM-6B:部署指南与实战应用全解析

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 SD3ComfyUI文生图部署步骤DAMODEL-ChatGLM-6B 服务端部署1.1、实例创建1.2、模型准备1.3、模型启动 SD3ComfyUI文生图部署步骤 Chat…

Redis6.0.9配置redis集群

写在前面 最近在完成暑期大作业&#xff0c;期间要将项目部署在云服务器上&#xff0c;其中需要进行缓存的配置&#xff0c;决定使用Redis&#xff0c;为了使系统更加健壮&#xff0c;选择配置Redis-Cluster。由于服务器资源有限&#xff0c;在一台服务器上运行6个Redis Instan…

pnpm : 无法加载文件

1、以管理员身份运行window powershell 2、执行Get-ExecutionPolicy&#xff0c;显示Restricted 3、执行set-ExecutionPolicy&#xff0c;会提示输入参数&#xff0c;此时输入RemoteSigned回车 4、执行y回车

想把泰文从文本上识别,什么软件工具好用呢?

泰文识别技术涉及将泰文图像转换成数字文本&#xff0c;主要通过光学字符识别&#xff08;OCR&#xff09;技术实现。这项技术广泛应用于文档处理、语言学习和翻译服务。实现泰文识别的方法包括使用手机应用程序、在线服务、专业软件&#xff0c;以及结合人工智能和机器学习。此…

【Docker】如何让docker容器正常使用nvidia显卡

首先确保宿主机正常安装了显卡驱动 nvidia-smi打印显卡信息如下&#xff1a; 安装nvidia-container-toolkit工具 sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker运行如下命令测试显卡是否在容器内可用 …

Arduino中使用库文件读取陀螺仪MPU6050欧拉角

目录 1、库文件安装 &#xff08;1&#xff09;方法1-网上下载库文件 &#xff08;2&#xff09;方法2-本地库文件夹中添加 2、欧拉角获取 &#xff08;1&#xff09;打开测试程序 &#xff08;2&#xff09;读欧拉角程序 &#xff08;3&#xff09;坐标系和欧拉角说明 …

征才令!开物™创新论文激励计划,等你来大展身手

背景介绍 随着云计算、人工智能的迅猛发展&#xff0c;现有的IT系统变得日益复杂&#xff0c;网络技术亟需创新才能满足现代数据中心、智算中心的网络需求。在这一背景下&#xff0c;被定义为“未来数据中心第三颗主力芯片”的DPU崭露头角&#xff0c;成为未来网络技术的发展方…

iOS V2签名网站系统源码 开源免授权

简介 这是一款iOS 签名站的开源源码&#xff0c;免去了授权&#xff0c;它支持UDID获取、软件选择以及签名码功能。 同时&#xff0c;用户可以多开APP进行安装。这是一个自主可下载的版本&#xff0c;感兴趣的用户可以自行获取。 界面

aws s3 存储桶 前端组件上传简单案例

写一个vue3 上传aws oss存储的案例 使用到的插件 npm install aws-sdk/client-s3 注意事项 &#xff1a; 1. 本地调试 &#xff0c; 需要设置在官网设置跨域 必须&#xff01;&#xff01;&#xff01; 否则调试不了 &#xff0c;前端代理是不起作用的 &#xff0c;因为是插…

【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;单例模式&#xff08;singleton&#xff09; 1&#xff1a;概念 二&#xff1a;“饿汉模…

JavaEE——多线程Thread 类及常见方法

目录 一、Thread(String name) 二、是否后台线程 isDeamon() 三、是否存活 isAlive() 四、run()方法和start()方法的区别 五、中断线程 法一&#xff1a; 法二&#xff1a; 六、线程等待join() 七、线程休眠sleep() 一、Thread(String name) 定义&#xff1a;这个东西…

期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟

在 AI 程序员的帮助下&#xff0c;一个几乎没有专业编程经验的初中生&#xff0c;在人头攒动的展台上从零开始&#xff0c;两分钟就做出了一个倒计时网页。 他需要做的&#xff0c;只是输入包含几句话的提示词。数秒钟后&#xff0c;大模型就生成了代码&#xff0c;还列出了环…

​地质图制图规范大全资料分享

我们在《2024年最新测绘地理信息规范在线查看下载》一文整理460个测绘地理信息相关规范的在线查看链接。 现在我们又整理了地质图制图规范大全分享给大家&#xff0c;你可以在文末查看该文档的领取方法。 地质图制图规范大全 这些地质图制图规范来自地质科学数据出版系统&am…

基于 IV 的因果中介分析模型及 Stata 实现

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 一、文献综述 因果中介分析在众多学科领域中都占据着关键地位&#xff0c;其重要性日益凸显。在社会科学领域&#xff0c;如经济学和社会学中&#xff0c;研究者们常常致力于揭示各种因素之…

深度学习实战:UNet模型的训练与测试详解

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 1、云实例&#xff1a;配置选型与启动1.1 登录注册1.2 配置 SSH 密钥对1.3 创建实例1.4 登录云实例 2、云存储&#xff1a;数据集上传…

vue2 搜索高亮关键字

界面&#xff1a; 搜索 “成功” 附上代码&#xff08;开箱即用&#xff09; <template><div class"box"><input class"input-box" v-model"searchKeyword" placeholder"输入搜索关键字" /><div class"r…

tauri开发软件中,使用tauri自带的api用浏览器打开指定的url链接

有能力的可以看官方文档&#xff1a;shell | Tauri Apps 就是使用这个api来打开指定的url链接&#xff0c;要在tauri.config.json中配置打开这个api&#xff1a; 然后在前端页面中导入使用&#xff1a; import { open } from tauri-apps/api/shell; // opens the given URL o…

年轻用户对Facebook的使用趋势分析

在社交媒体的蓬勃发展中&#xff0c;Facebook作为全球最大的社交平台之一&#xff0c;尽管面临着来自新兴平台的竞争&#xff0c;仍然在年轻用户中扮演着重要角色。然而&#xff0c;年轻用户对Facebook的使用方式和趋势却在不断变化。本文将探讨年轻用户对Facebook的使用趋势&a…