【原创】蓝奏盘的真实下载地址解析思路与过程及成品源码
本帖最后由 流光Streamer 于 2018-3-21 12:07 编辑0x01 写在前头
X度盘分享一些东西,小文件还好,忍忍就下好了,但是稍微大一些的东西分享给别人就蛋疼了,又不可能给别人弄个破解的X客户端。
慢慢的目光就转到蓝奏盘,下载速度挺不错~于是就想着能不能做FTP,在论坛找了一下,发现蓝奏的解析都是很早的了,没办法适应最新
正好有点空~就自己动手,欢乐多~
{:301_1000:}
0x02 准备工具
chrome
0x03 开始
首先我们随便找一个蓝奏的链接{:301_997:}
直接chrome F12进入调教,哦不~调试...
发现在他的三个下载地址其实是一个iframe
src="/fn?f=2843560&t=1521525682&k=702303f99ddec1ee347e83d3e6954ff1"
我们访问看一下~
<script type="text/javascript">
var a = 'down_process';
var iay7or = '2843560';
var igwjqk = '1521525328';
var imuvsd = 'ada9b5c064ee3f1baf176ae849194dd1';
$.ajax({
type : 'post',
url : '/ajaxm.php',
//data : { 'action':'down_process','file_id':iay7or,'t':igwjqk,'k':imuvsd },
data : 'action=down_process&file_id='+ iay7or +'&t='+ igwjqk +'&k='+ imuvsd,
dataType : 'json',
success:function(msg){
var date = msg;
if(date.zt == '1'){
$("#go").html("<a href=http://"+date.dom+"/file/"+ date.url +" target=_blank onclick=down_r('2843560'); rel=noreferrer><span class=txt>电信下载</span><span class='txt txtc'>联通下载</span><span class=txt>普通下载</span></a>");
setTimeout('$("#outime").css("display","block");',1800000);
}else{
$("#go").html("网页超时,请刷新");
};
},
error:function(){
$("#go").html("获取失败,请刷新");
}
});
</script>
很容看到他的结构~ 简单解释一下,我们一步步来~
var a = 'down_process';
var iay7or = '2843560';
var igwjqk = '1521525328';
var imuvsd = 'ada9b5c064ee3f1baf176ae849194dd1';
这个是4个参数
$.ajax({
type : 'post',
url : '/ajaxm.php',
//data : { 'action':'down_process','file_id':iay7or,'t':igwjqk,'k':imuvsd },
data : 'action=down_process&file_id='+ iay7or +'&t='+ igwjqk +'&k='+ imuvsd,
dataType : 'json',
success:function(msg)
行为:post
地址:/ajaxm.php
提交的附加数据是 data,他的构成就是
action=down_process&file_id='+ iay7or +'&t='+ igwjqk +'&k='+ imuvsd
可以很清楚的看到 他的变量就是那4个参数,现在我们自己来手动编写一个。
action=down_process&file_id=2843560&t=1521525328&k=ada9b5c064ee3f1baf176ae849194dd1
返回格式是 “json”
成功执行(msg)
那么构建语句执行一下
好的我们可以看到返回josn格式
{"zt":1,"dom":"vip.d0.baidupan.com","url":"?VTNaZFloVGUJAFFpUWRVOQA\/UGhS6wewBYME51WMBo5TtluGCv4EtgnWC9ZWN1V6UDsEL1A\/BysGe1E+AS1WcVUzWmRZaFRlCQBRblFhVWkAaFBtUjkHNgU3BDRVOQYhUzVbfwpqBGQJZgtqVjNVY1A6BDhQKQd1BnFRagFvVmdVZFo1WStUMAlsUShRNFVjAHVQbFI1B2YFZwQ3VWwGM1M3W28KZQRnCW8LbFY3VWRQPQQ5UDsHYQY1UTEBaFY0VTNaPFllVGYJa1FmUTxVZgBqUHtSdwdsBXIEJFV8BndTJ1sxCmYEZQltC2xWMFVhUDwEOVA6BzwGJ1EjATRWOlUwWmtZOVQxCWpRNVE0VWEAaFBjUjUHMAU6BCxVJw==","inf":null}
我们继续他的(msg)
success:function(msg){
var date = msg;
if(date.zt == '1'){
$("#go").html("<a href=http://"+date.dom+"/file/"+ date.url +" target=_blank onclick=down_r('2843560'); rel=noreferrer><span class=txt>电信下载</span><span class='txt txtc'>联通下载</span><span class=txt>普通下载</span></a>
可以看到 date.zt 就是返回数据中的zt=1 意思就是成功返回1就执行
html("<a href=http://"+date.dom+"/file/"+ date.url +"
为你按下去的那个按钮构建html地址从josn格式可以看到
匹配一下 date.dom = vip.d0.baidupan.com
date.url= ?VTNaZFloVGUJAFFpUWRVOQA\/UGhS6wewBYME51WMBo5TtluGCv4EtgnWC9ZWN1V6UDsEL1A\/BysGe1E+AS1WcVUzWmRZaFRlCQBRblFhVWkAaFBtUjkHNgU3BDRVOQYhUzVbfwpqBGQJZgtqVjNVY1A6BDhQKQd1BnFRagFvVmdVZFo1WStUMAlsUShRNFVjAHVQbFI1B2YFZwQ3VWwGM1M3W28KZQRnCW8LbFY3VWRQPQQ5UDsHYQY1UTEBaFY0VTNaPFllVGYJa1FmUTxVZgBqUHtSdwdsBXIEJFV8BndTJ1sxCmYEZQltC2xWMFVhUDwEOVA6BzwGJ1EjATRWOlUwWmtZOVQxCWpRNVE0VWEAaFBjUjUHMAU6BCxVJw==
那么标签A 最终的地址我们就可以编写出来
http://vip.d0.baidupan.com/file/?VTNaZFloVGUJAFFpUWRVOQA\/UGhS6wewBYME51WMBo5TtluGCv4EtgnWC9ZWN1V6UDsEL1A\/BysGe1E+AS1WcVUzWmRZaFRlCQBRblFhVWkAaFBtUjkHNgU3BDRVOQYhUzVbfwpqBGQJZgtqVjNVY1A6BDhQKQd1BnFRagFvVmdVZFo1WStUMAlsUShRNFVjAHVQbFI1B2YFZwQ3VWwGM1M3W28KZQRnCW8LbFY3VWRQPQQ5UDsHYQY1UTEBaFY0VTNaPFllVGYJa1FmUTxVZgBqUHtSdwdsBXIEJFV8BndTJ1sxCmYEZQltC2xWMFVhUDwEOVA6BzwGJ1EjATRWOlUwWmtZOVQxCWpRNVE0VWEAaFBjUjUHMAU6BCxVJw==
我们直接访问这个地址,
是没有任何数据~!我们看一下协议里
对了嘛,返回在协议里 Location:
* Connection: keep-alive
Date: Tue, 20 Mar 2018 06:04:19 GMT
Transfer-Encoding: chunked
Content-Type: text/html
Location: http://development01.baidupan.com/2018032014bb/2018/03/17/98ce5e4dc270150784d4f5cf1af4a920.zip?st=bYKY5VG3dkyPOnKSO0_OjQ&q=%E6%B5%81%E5%85%89%E5%8A%A9%E6%89%8B5.1.0.zip&e=1521527859&ip=你的IP地址&fi=2843560&up=
可以很清楚的看到真实下载地址了嘛,让我把地址放到IDM里试试
妥妥的~搞定~这下就手动给他找出来了。
易语言的源码只要按照这个步骤写就好了~晚点有空补一个源码上来{:301_997:}
0x04 结语
这个找真实地址应该是比较简单的,易语言代码只要把上面的步骤一句句写出来就好了
唯一有一个难点就是那4个变量,提示:正则表达式。
1. 取变量数据
2. josn解析
这个是精X郝单纯的源码
本帖最后由 材鸟 于 2018-3-20 19:43 编辑
流光Streamer 发表于 2018-3-20 14:48
只有一个难点! 他的那4个变量的名字是随机的,也就是取那四个变量是要有技巧的
换行符分割即可!
我总结了下流程,三个GET,一个POST
GEThttp://pan.lanzou.com/i0nx2ra (这个链接以楼主文中的链接的为例子,请勿随便下载)
得到 临时变量→ src="/fn?f= ?? &t= ?? &k= ??"
===========================================================1
GEThttp://pan.lanzou.com/临时变量
得到四个参数 A B C D(这里已换行符分割即可)
===========================================================2
POST http://pan.lanzou.com/ajaxm.php
提交 action= A &file_id= B &t= C &k= D
得到 一条JSON文本 包含 ztdomurl inf 四个参数
===========================================================3
GEThttp:// dom/file/url
得到 协议头里Location的文本
===========================================================4
协议头里Location的文本 = 下载地址!!! 尼玛。我是第一次知道兰奏盘是百度盘的一部分 牛逼 给大佬跪了 哇,顶一个 田田爱崽崽 发表于 2018-3-20 14:35
尼玛。我是第一次知道兰奏盘是百度盘的一部分
哈哈哈,我也是 很震惊~ 应该是百度盘提供底层储存服务,然后蓝奏是在上面建立的 可以的!说的够明白了,建议楼主不写程序。杜绝伸手党!{:301_1009:} 材鸟 发表于 2018-3-20 14:44
可以的!说的够明白了,建议楼主不写程序。杜绝伸手党!
只有一个难点! 他的那4个变量的名字是随机的,也就是取那四个变量是要有技巧的 这个看着有点复杂,不像脚本那么简便。 大神厉害了!{:1_893:} 付国兵123 发表于 2018-3-20 14:56
这个看着有点复杂,不像脚本那么简便。
不会!易语言实现其实非常简单不需要很多代码,静下心,这是一个分析的思路,看完了也就知道没啥了