吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1715|回复: 69
上一主题 下一主题
收起左侧

[Web逆向] 记一次某免费音频听书网音频地址解析全过程

  [复制链接]
跳转到指定楼层
楼主
lenvy1 发表于 2025-3-20 19:06 回帖奖励
本帖最后由 lenvy1 于 2025-3-20 19:17 编辑

免责声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关.


目标网址:aHR0cHM6Ly93d3cudGluZ3poLmNvbS9wbGF5LzE2MTI0LTAtMC5odG1s

PS:心血来潮找免费的听书网站,以学习巩固更多逆向知识,逆向过程纯小白操作,难免有错漏之处请见谅,谢谢指教多多交流~

一、查找音频地址生成入口

1、首先,直接按F12键打开定位播放音频地址元素,发现是嵌套在 iframe 页面框架里的,说明可能是异步动态加载,按照经验一般不会在页面源代码出现明文地址;在工具面板“网络”选项卡里也没能找到数据包请求。


2、切换到工具源代码选项卡,试着搜索mp3关键字,直接找到了音频生成的关键js代码。
看变量名/函数名就猜出来了,var now = FonHen_JieMa()就是解码当前音频地址,var next = FonHen_JieMa()就是解码下一个音频地址。

3、咱们直接在控制台输入变量名now (因为源码里面将当前解码音频地址赋值给了now),或者复制输入FonHen_JieMa("104116116112…),
控制台打印出来的结果,果然如心中所料就是解码后的真实音频地址!
也就是说,FonHen_JieMa()就是音频解码函数,找到它如何实现就OK了。

二、分析FonHen_JieMa()代码

1、既然确定FonHen_JieMa()就是解密音频地址的关键,就要查出它的具体实现方式(即函数定义方法代码)。
有一个直接的方式,可以在控制台直接输入FonHen_JieMa回车,控制台显示它实现的方式。

2、鼠标单击进去,直接打开FonHen_JieMa()函数代码。


到了这一步,音频地址解码的实现代码找到了,下一步就是验证这个函数代码。

function FonHen_JieMa(u) {
    var a = u.split("*");
    var b = '';
    for (var i = 1, n = a.length; i < n; i++) {
        b += String.fromCharCode(a[i])
    }
    return b
}

三、验证FonHen_JieMa()解码

1、因为小白完全看不懂JS代码啊,就让AI助手转换成本人略懂的Python方法了。

这是Python实现方法:

[Python] 纯文本查看 复制代码
1
2
3
4
5
6
def FonHen_JieMa(u):
a = u.split("*")
b = ''
for i in range(1, len(a)):
b += chr(int(a[zxsq-anti-bbcode-i]))
return b

2、测试该方法
在音频播放页找到音频加密字符串,传入FonHen_JieMa(),最终实现解码。

3、调用mpv播放该解密音频地址,也是可以直接播放收听的。

yt-dlp 直接下载也行:

四、后处理批量下载思路

可以使用py写一个抓取专辑封面章节目录信息(titles 和 urls),for遍历,
然后通过xpath 或 正则 或者其他方法,取得章节音频加密字符串,再通过上术FonHen_JieMa()函数解码,
就可以实现批量下载某个书籍专辑的所有章节音频了。

大概思路就是这样,感兴趣的可以试着写一个py程序。

免责声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关.

免费评分

参与人数 20吾爱币 +24 热心值 +18 收起 理由
wwb66668 + 1 + 1 感谢,我用你的思路结合AI成功了
Furutsukl + 1 + 1 我很赞同!
wari01 + 1 + 1 用心讨论,共获提升!
wuai5211314 + 1 我很赞同!
CGR + 1 谢谢@Thanks!
FitContent + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hoon + 1 谢谢@Thanks!
jk998 + 1 + 1 我很赞同!
wanfon + 1 + 1 热心回复!
LDDX + 1 + 1 谢谢@Thanks!
piazini + 2 + 1 谢谢@Thanks!
a927 + 1 谢谢@Thanks!
user_0628 + 1 + 1 我很赞同!
can1 + 1 + 1 我很赞同!
tujinfeng + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
anning666 + 1 + 1 我很赞同!
mxkgb + 1 + 1 谢谢@Thanks!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wuaixzc + 1 + 1 谢谢@Thanks!
kikata + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
retsyo 发表于 2025-3-22 10:11
我想知道,咋判断这个听书网站,哪个是可以听的?
我打开好多,都无法听。用楼主的方法,now返回的是一个mp3文件名,但是这个文件又是不存在的,无法下载或者播放
推荐
 楼主| lenvy1 发表于 2025-3-21 00:33 |楼主
lungtree 发表于 2025-3-21 00:07
第一张图片里,那个.m4a的文件,不是真实的音频文件地址吗?

那是网页框架里加载的,要的是解密方便批处理,如果单纯提取单个地址,有太多直接方法了,比如IDman直接网页嗅探出来下载了。
3#
allendoyle 发表于 2025-3-20 23:30
4#
poni 发表于 2025-3-20 23:39
谢谢分享,学习了,试试其他收费的APP
5#
xmdhkzs 发表于 2025-3-21 00:06
太详细了 666
6#
lungtree 发表于 2025-3-21 00:07
第一张图片里,那个.m4a的文件,不是真实的音频文件地址吗?
7#
dx009 发表于 2025-3-21 01:18
感谢您的分享。
8#
cggm 发表于 2025-3-21 05:23

谢谢楼主     
9#
70后社工 发表于 2025-3-21 06:10

感谢您的分享。
10#
haichao118 发表于 2025-3-21 06:26
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-3-28 22:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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