找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 127|回复: 0

破解喜马拉雅

[复制链接]

2万

主题

162

回帖

18万

积分

管理员

积分
184732
发表于 2022-9-28 19:52:09 | 显示全部楼层 |阅读模式 IP:山东省青岛市 移动

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、申 请 I D:12redcircle
2、个人邮箱:liyunheasap@yeah.net
3、原创技术文章:某有声书网站网页端加密资源地址获取过程分享(包含最终可执行代码)

________________________________________


2. Web 网站破解前置知识2.1 请求分析、修改
Web 端的资源获取逻辑多数都基于 JavaScript,在打开网页时下载到客户端执行,源码是直接开放的。
打开浏览器的调试工具,就可以看到请求和响应信息(如 Header、URL、请求参数和响应值),并执行重放操作。
如果想替换响应资源,可以使用 Fiddler Classic 和 Charles 等网络分析工具。
通过网络分析工具解析 HTTPS 资源,需要在本机安装可信根证书。分析工具以中间人的方式来查看信息。
2.2 常用的加密算法和库
遇到加密参数时,优先考虑以下方式:
  • blueimp-md5:在浏览器端进行 md5 加密
  • Crypto.js:纯JavaScript的加密算法类库,可以方便的在前端进行加解密操作
  • base64(不算加密算法,但是很常见)
3. 实例说明
使用 Firefox 进行简单的资源搜索、消息分析。
3.1 音频解析
比如说 https://www.ximalaya.com/sound/36869433 这段音频,分析网址发现 sound 后面的一串代码似乎是动态变化的,可能是音频资源的 id
访问上述地址,然后点击下面的播放按钮。
当音频播放时,在浏览器调试工具中搜索 36869433,看到如下结果:
每个链接都看一下,可以发现在响应数据中 trackInfo.playUrlList 一节能看到下载链接
复制代码 隐藏代码
https://mobile.ximalaya.com/mobile-playpage/track/v3/baseInfo/1664096284626?device=web&trackId=36869433&trackQualityLevel=1
列表中发现了四个地址,其中 url 是加密的。
这时要记得一件事:所有的逻辑解密代码都在 JavaScript 中
查看浏览器的调试器功能,在其中查找网页的 JavaScript 代码地址。找到 s1.xmcdn.com 这一项
看到有五个文件。直接开始搜索下载地址,根据下载地址定位到调用方法 Mt,直接打断点调试
刷新页面后重新触发方法。点击跳出按钮到达函数外层
一个明显的 ajax 请求。看回调部分
可推测是 Lt 方法解析链接。在控制台中查看 Lt 方法:
其中的 Dt 和 Rt 是什么呢?
看起来是个成品的加密库。拿关键词直接百度,看到一大堆的 Crypto.js
直接替换试试
完全一致,解析结束。
3.2 解析专辑中链接下载地址
专辑本质上是一组声音列表,只需要获取 trackId,批量调用上一步提到的方法即可。
和上一步的方法一致,找到列表链接:
得到如下列表:
3.3 xm-sign 生成
在调用接口时,header 中有一个 xm-sign。这个是如何生成的呢?
回到文件中,搜索 xm-sign,定位到 getSign 方法
然后打断点,先执行 toString 方法
发现静态值 XM_SERVER_CLOCK,猜测是服务器时间的含义。先放在一边,进入函数中调试。
红线上的这些值,可以直接在控制台中执行看结果。比如说 c('0x13'),可以得到下图的结果
最终的代码如下一节 getSign 所示
4. 核心代码:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|哩布大模型|Civitai大模型|IP定位|图反推|站长素材|deepseek|即梦视频|阿狗工具|花瓣网|pinterest|php手册|宝塔文档|CyberChef|猫捉鱼铃|手机版|小黑屋|下载狗|IPS|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2025-5-5 15:02

Powered by 分享屋 X3.5 Licensed

© 2001-2025 Discuz! Team.

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