声明

本文仅供参考学习,禁止用于其他用途,违者后果自负!

前言

目标网站:aHR0cHM6Ly93d3cucWluZ3RpbmcuZm0v
小说链接:aHR0cHM6Ly93d3cucWluZ3RpbmcuZm0vY2hhbm5lbHMvNDQwMjkw
接口信息:aHR0cHM6Ly9hdWRpby5xdGZtLmNuL2F1ZGlvc3RyZWFtL3JlZGlyZWN0LzQ0MDI5MC8yMTg4ODQzOD9hY2Nlc3NfdG9rZW49JmRldmljZV9pZD1NT0JJTEVTSVRFJnFpbmd0aW5nX2lkPSZ0PTE2NjE5MzUzODgxODMmc2lnbj0xZDhlYzBiMmI2ZTI4ODE0OWRiNDIyMzFiNzFhZTVhNA==

参数分析

点击某一章节进去,点击播放后会有一个音频信息的接口

将音频的url复制到浏览器中就可以得到音频文件,通过不断播放不同章节的小说发现该url发现有两处比较可疑,会发现62后面这一串和auth_key后面这一串。

既然比较可以,就复制其中一部分进行搜索。

其中2到4都是音频的url,只有第一个不是。大概率是在这里了。

可以看到该节后的一些信息,状态码是一个302跳转到Location中的url中,这个url不就是音频的url吗?这是一个get请求,参数内容中有一个sign值看不懂,应该加密了。


32位长度,很多小伙伴看到32位加密就猜是md5加密,只能说有一定的可能性,也可能是摘要算法的一种。

参数内容已经确定了,只有sign加密。

流程分析

直接搜索sign。

文件有点略多,遇到这种情况可以搜索其他的参数,尤其是更具有辨识性的这样重复会比较少。

access_token 就只有两个了。分别点进文件看一下,最终发现是在main的文件中。
定位一下位置,发现url也对的上。


没猜错的话 return后的结果就是sign。别问我是怎么知道的,因为我看到了Hmac和md5。

剩下的不用多说,打断点调试。

s是在拼接url,

t是当前章节有声小说的id,a是一个对象,仔细一看是url中的一部分。t是当前时间戳。

看一下sign

HmacMD5加密,密钥是fpMn12&38f_2e。实际上Hmac也是一种摘要算法,这种算法和md5相比多了一个密钥所以也更加安全。不懂的小伙伴自行百度一下。

找一个在线的加密网站看一下,加密一下前面的s

链接:在线加密网站

和上图的结果不能说大差不差,只能说是一模一样。
加密到这里就解决了,因为比较简单。所以没有必要去扣js代码,直接用python调用即可。

import time
import hmac
t = str(int(time.time() * 1000))
key = "fpMn12&38f_2e"
message = "/audiostream/redirect/" + book_id + "/" + chapters_id + "?" + 'access_token=&device_id=MOBILESITE&qingting_id=&t=d' + tmessage = message.encode('utf-8')
sign = hmac.new(key.encode('utf-8'), message, digestmod='md5').hexdigest()
print("sign的值为------>",sign)

js逆向-某蜓有声小说获取音频url地址相关推荐

  1. php获取接口url地址,PHP 获取完整URL地址

    /** * 获取当前完整URL * @return string */ function get_url() { $sys_protocal = isset($_SERVER['SERVER_PORT ...

  2. php 获取内容页图片,织梦DEDECMS内容页获取图片URL地址的方法

    织梦DEDECMS内容页获取图片URL地址的方法 {dede:sql sql="select * from dede_uploads where arcid = ~id~"} [f ...

  3. php获取所有url地址_PHP_php 获取完整url地址,主要是获取到地址栏的一些信 - phpStudy...

    php 获取完整url地址 主要是获取到地址栏的一些信息,域名,端口参数等 复制代码 代码如下: //获取域名或主机地址 echo $_SERVER['HTTP_HOST']." " ...

  4. php获取所有url地址_php 获取完整url地址

    php 获取完整url地址 主要是获取到地址栏的一些信息,域名,端口参数等 复制代码 代码如下: //获取域名或主机地址 echo $_SERVER['HTTP_HOST']." " ...

  5. php获取所有url地址_php 获取完整url地址实例详解

    例1,获取到地址栏的一些信息,域名,端口参数等. 复制代码 代码示例: //获取域名或主机地址 echo $_SERVER['HTTP_HOST']." "; //获取网页地址 e ...

  6. JS逆向解析---某知名小说网站内容加密

    该小说网站的全部内容都是经过一个JS的加密,要想爬取这个网站那么将其内容解析是不可避免的,本文将讲解如何对其进行JS的逆向解析.网站:shuqi 随便点开一本书,打开浏览器自带的抓包工具: 点击第一个 ...

  7. js获取页面URL地址并判断URL是否包含具体值

    本文介绍jquery/js获取当前页面url地址的方法,在jquery与js中获取当前页面url方法是一样的,因为jquery没有自己相关的函数,使用js 的windows方法来获取,相关方法如下: ...

  8. JavaScript 技术篇-使用js代码获取浏览器窗口标题名,js获取页面URL地址

    用 Google 页面来举例子,Google 是它的窗口标题名,https://www.google.com是它的页面 url 地址. document.title 可以用来获取窗口标题名. loca ...

  9. [AS3]flash通过ExternalInterface.call方法来获取当前URL地址

    不用js,只需flash就能搞定了,主要是用了ExternalInterface.call方法,其本质还是通过flash去调用js函数 import flash.external.*; var url ...

最新文章

  1. Generator-ing Values
  2. gomarket服务器位置,ANZHI安智市场 Gomarket
  3. 强化学习—— 经验回放(Experience Replay)
  4. 错误日志类-也可以用于查看输出结构
  5. 机房收费重构之总结篇
  6. html网页如何传递接收地址参数
  7. ROS中阶笔记(五):机器人感知—机器视觉
  8. 首次超过苹果!华为高端智能手机Q1国内市场出货量占48%
  9. 计算机应用基础165791,人大网大计算机应用基础试题答案资料.doc
  10. webpack笔记_(1)_webpack 安装
  11. 如何利用SPSS进行秩和检验
  12. 微信小程序wxml传递值总结(e.currentTarget,e.detail.value)
  13. css写七步诗,《七步诗》改写550字
  14. Win11无线网络适配器显示感叹号怎么办
  15. C语言习题:猜数字游戏(C语言随机数)
  16. 论文导读 | 图数据流子图查询
  17. 如何添加论文参考文献
  18. Ztree树状的处理
  19. APP自动化测试之录制脚本:3.运行录制的脚本
  20. 香港开户炒股非常简单 体验香港开户流程

热门文章

  1. oracle 如何回收空间,Oracle回滚段空间回收步骤
  2. 学会php和cssjs就能开发网站,网站构建
  3. codeforces 1350.Div2 A-D Orac and xxx
  4. 系统编程(程序与进程,进程操作API)
  5. 使用css实现3D导航
  6. 电脑、其他设备控制ABB机器人相关记录(自己用)
  7. EPOLL机制,使服务数以万计的连线用户多达10000请求/秒成为可能
  8. SEO按天扣费系统源码/SEO计费系统/关键词计费扣费系统/关键词排名查询系统
  9. 【Unity】Unity 常用插件
  10. SOAP-ERROR: Parsing WSDL: failed to load external entity怎么办?