吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6633|回复: 6
收起左侧

[会员申请] 申请会员ID:qiuqiu3【申请通过】

  [复制链接]
吾爱游客  发表于 2018-12-17 18:09
申请会员ID:qiuqiu3
1、申请ID:qiuqiu3
2、个人邮箱:51good@126.com
3、原创技术文章:见下文,通过后我会把源代码放到网上

分析 PPTV(聚力) 视频真实地址

1.为什么要做这件事?
我本人酷爱看英超联赛,在 PPTV 官网上看不能下载,我本人有点编程基础就想试找找相关文章分析一下,很遗憾网上找的文章都比较老了,根本没办法用。
第三方解析网站是有很多,但是有些是封装成库(带广告),有些解析出来的下载地址清晰度又不够。最头疼的问题这些三方网站经常换域名,经常出现被封的情况,官方算法改了还要等破解才能继续使用。
另外我看网上也有这方面的需求,多数无人回答。我从技术获得了不少知识,本着“我为人人,人人为我”的精神,下面大概说说分析 PPTV 真实地址的步骤。
2.我实现的效果
01.png
由于是非会员,PPTV 只提供标清、高清、超清三种格式,一般情况下超清的效果就能满足观看需求了,直接把地址复制出来放到迅雷里就可以下载了(官方有限制,每次生成的地址大概在4个小时内是有效的)。
3.开发工具准备
获取 PPTV 播放地址主要渠道有:网站、App、电视盒子,本文是以网站的方法做讲解。下面是所需要的工具:
AS3 Sorcerer:网站是用 flash 播放视频的,所以要反编译 swf 文件。
flash builder 4.7:提取核心算法类需要用到(核心算法以嵌入的形式加载,反编译没有这个类)。
Firefox:其它浏览器也行(有开发者模式就行),主要看mp4文件播放地址,视频分隔信息。
MyEclipse:使用 Java 语言分析真实地址,转成其它语言大同小异。
4.找到分段信息
现在的视频网站都是有一些套路的,视频都是分段播放的(也有一些是用的 P2P 技术),我们的目的是先找到分隔信息。
这里有一点要注意:你播放的地址是不是类似这样“http://v.pptv.com/show/0lzicfORKuvhb2UE.html”,如果不是需要点分享按钮才能拿到。
打开浏览器输入上面的地址,看我画线的地方,这就是分隔信息,我是按个点看他的返回内容确定的。

02.png
需要关注的内容:

channel
  • nm -- 视频标题
  • pic -- 视频缩略图

dt
  • rid -- mp4文件名
  • sh -- 服务器地址
  • st  -- 请求时间(以请求时间为准,计算过期时间)
  • id  -- 视频主键
  • bh -- 备份服务器地址
  • flag -- 这个没猜出来
  • iv   -- 这个也没猜出来
  • key -- 需要客户端解密

dragdata
  • 一般我们只要知道有多少个 sgm 就行(视频被分成几段)


5.如何拼成分段信息请求地址
看一下这个地址是如何请求的:
http://web-play.pptv.com/webplay3-0-29412562.xml?zone=8&pid=5701&vvid=132512de-476a-ed90-3b38-bb7be4b09214&version=4&token=L24-CYpmKPLh9EfpvsprW1JRK40FS_8NA2zOtDTrtmtBspTp_bOph4ZnnBzfm9O3qIeAg1f0w4rV%0D%0Ayyrq3KamgIuaYBPZN6ViSHXjngETGhTIKw52H4Awhng9jaX62-F6UHxwJDbqiMQVc7hIkTY13duO%0D%0AlTOpicDi5svdemeWXZM%0D%0A&username=18642727712_180923o10¶m=type%3Dweb.fpp%26ahl_ver%3D1%26ahl_random%3D6c584b636d69724a7626642f43713829%26ahl_signa%3D5c8b82f1693caa6c19a9a305daf29461c731e9a1c2e22e6f5bd4536d1fcc07c5%26userType%3D0%26o%3D0&ppi=302c393939&sl=1&referrer=&duration=3086&isIframe=0&isSports=1&stime=&kk=1efad30e19b33cfac1f5a5e1dcbb3b87-1155-5c177985&o=0&p_type=22&vts=1&type=web.fpp&pageUrl=http%3A%2F%2Fv.pptv.com%2Fshow%2F0lzicfORKuvhb2UE.html&r=1545038718218&scver=1&appplt=flp&appid=pptv.flashplayer.vod&appver=3.4.3.27&nddp=1

这个串参数比较多,实际上我们根本用不到,先看这个“webplay3-0-29412562.xml”,其中“webplay3-0-”是固定值,我们不关注,“29412562.xml”里面的数字我们可以在播放网页源代码找出来。
”appplt=flp&appid=pptv.flashplayer.vod&appver=3.4.3.27&type=web.fpp&version=4“是固定值,同样不需要关注。
重点来了 ”param“ 参数有4个值非常关键,少了任何一个就被判定为盗链:
ahl_ver:固定值(默认值为1)
type:固定值(默认值为web.fpp)
ahl_random:16 位随机字符
ahl_signa:ahl_random + "web.fpp" + "-" + "1" + APP_KEY 用这几个值拼串然后用 SHA256 编下码
把这几个参数拼起来加上地址访问后就可以得到分段信息了。

6.获取真实播放地址
我们在播放器上随意拖拽进度条,开发者工具按文件大小排序就会发现几个 MP4 文件,这就是播放器实际播放的地址了,再再看看地址长啥样:
http://218.61.35.86/6/49152/0/59fcfcdf1e6bd26c3fa64c3c7a8a73f4.mp4?fpp.ver=1.3.0.24&key=186828e870181e080e47d60582c02725&k=1e9157f908b13cc174eb5fb485d65033-f224-1545053118%26bppcataid%3D38&type=web.fpp&vvid=132512de-476a-ed90-3b38-bb7be4b09214

218.61.35.86:就是我们前面获取到的 sh 值
59fcfcdf1e6bd26c3fa64c3c7a8a73f4.mp4:对应的是 rid 那个值
key:其实不传也行,但是最好也计算一下,算法文件需要 反编译 swf
k: 这个值非常关键,计算错误就算盗链
vvid:这个不重要,统计数据还有广告需要,我们不传
fpp.ver:固定值
type:固定值

注意:这里最关键的就是 k 值的计算。
7.反编译 swf 找出计算 k 值的算法
找到播放器的 swf 文件相对比较简单,一共也没有几个,把 swf 文件挨个下来反编译一下就能确定了。
03.jpg
我们会发现 VodFacade_Crypto 这个类是空的,这下 flash builder 4.7 有用武之地了,把这个空类导出来再反编译就可以了。
04.jpg

8.最后等我把代码整理好我就把项目开源,希望能帮到你。

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

yiqingjs 发表于 2018-12-17 19:27
一审通过,等待二审
zcter 发表于 2018-12-17 20:36
吾爱游客  发表于 2018-12-18 08:19
zcter 发表于 2018-12-17 20:36
我觉得没任何意义。

1.体现分享精神,锻炼自己的分析能力;
2.没有这方面的思维锻炼,你根本不知道用在哪里,就像不知道天气预报和金融投资有什么关系;
3.项目中大量用到了位运算、AES(ZeroPadding)解密算法,知道这些我们在做接口的时候就知道如何给URL加密;
4.比如你要做个足球类的软件,需要一些视频,嵌入官方的 H5 只能播20分钟,视频文件又不能放自己服务器,这时候就可以用解密后的地址(省带宽);
5.好处很多,自己想想。
FuYunx 发表于 2018-12-18 09:26
感谢感谢,这个东西好久没有人能写出来了,只能说66666,如果你是会员肯定把我的膝盖献上!!!
Hmily 发表于 2018-12-18 09:56
I D:qiuqiu3
邮箱:51good@126.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。

PS:登录后把文章整理一下发到脱壳破解区。
qiuqiu3 发表于 2018-12-19 10:13
你好管理员,我已经在脱壳破解区发表了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 16:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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