本帖最后由 洛绝尘 于 2016-4-26 10:05 编辑
第一次发帖,如果有什么错的地方请多多指教(也不知道有没有发错版块)
这几天看到一键QQ音乐加速很火,可以加速成长值0.5天,关键还是不需要密码的。
于是我就看了几个已经做出来的一键加速音乐软件抓包了一下,发现都是借助php中转加速的。这样可以避免抓到核心协议。
看到了是php中转的,我就想绝大部分可能加速协议是http的,这样就容易抓包了。
首先看了一下加速规则,是要听歌60分钟+手机登录QQ音乐。
免密码听歌协议
然后我就打开fiddler,用手机代{过}{滤}理,在手机上开始听歌,并不停的分析这出来的数据,大半天了。。。结果没找到。
然后我放弃在抓手机的听歌协议,打开电脑版的QQ音乐开始抓包。经过我的多次尝试,发现并不是每听一分钟就通知服务器听了一分钟的歌。
而是在每次歌曲结束后往服务器发送个数据。这个协议是POST。
URL:http://stat.pc.music.qq.com/fcgi-bin/qm_reportlstmus.fcg?pcachetime=1490404183
POST:qm_hideuin=1**1601644&qm_method=1&version=12&miniversion=13&uin=1031**1644&key=98175794EB27EC12EE11ABD6851F121BAF56E763975D4C749A4B826ABE270D82&guid=54EF7D2F4855FB2C5CDE1817D62385CB&gkey=17D527A3315F3AA0462D86215074D87F7660A9FF05F65E66&count=1&musicid=235112&listeninterval=120&fromtag=0&tab=1&errcount=0&errmusicid=&errcode=&fileid=0&levelid=0&cdid=0&ruleid=0&pcpath=1:7:&webpath=&songtype=4&rec_reason=&info=C99DB9CBC6C668436C8E8B45739A3CAB2ED6CC509A9DF47E98451308F36E703CDADC3B4171FAE471A9C45F4212C9BD967853096ABF73AD154BE446F6DDE55C67BD26B09369936E78A3FC8A3475CA4304"
经过我的多次分析,看到了这几个比较有用的参数,看红色字体。
qm_hideuin和uin是听歌的QQ号
listeninterval是听歌的时间,pcpath是比值。(分析多次才发现的)
listeninterval的计算方式为(听歌分钟数*7*10)这个7就是pcpath参数。
也就是说改成4200就可以一次性听歌60分钟。
然后我写了一个php程序测试了一下,果然可行。
到此为止一键听歌60分钟已经搞定!
免密码登陆手机QQ音乐协议
还是要先代{过}{滤}理fiddler,然后在手机QQ音乐上登陆。
这个协议还是比较好抓的,在点击登陆并输入验证码后就出来的一个协议就是登陆QQ音乐的。
URL:http://59.37.96.220/base/fcgi-bin/login或者http://101.227.139.217/base/fcgi-bin/login(登陆好多次,发现有时候登陆地址不一样)
POST:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<uid>3440483867</uid>
<sid>201603271344453440483867</sid>
<v>90</v>
<cv>60001</cv>
<ct>1</ct>
<OpenUDID>0070291CC33048D5AC0DD2B6448CA153</OpenUDID>
<mcc>460</mcc>
<mnc>11</mnc>
<chid>001</chid>
<webp>0</webp>
<gray>0</gray>
<patch>106</patch>
<review>0</review>
<jailbreak>0</jailbreak>
<nettype>2</nettype>
<qq>103160***4</qq>
<authst>000156f784990058ead5504c0d475bfab80065540d5f72943f216c539caec39c46e792b97e7ded5f560867c62755366b4684536e6832a8e0d22a4225f7a1fac95cc050becc31025cee49ff17283c000dea9b365d61e1683ae8cf7080ea81ae20</authst>
<cid>113</cid>
<auth>gz4boEH3</auth>
<pwd/>
<ifv>0070291CC33048D5AC0DD2B6448CA153</ifv>
<ifa>118C3CF0-FB58-40F5-AE57-98565581D491</ifa>
<oversea>1</oversea>
</root>
POST是一个xml,登陆不同的QQ判断了一下发现不同的值是上面几个加红的。同一个QQ多登陆几次,会变动的值也是加红的参数,(除了qq参数)。
我找来另一个没有弄QQ音乐加速任务的QQ,先用自动听歌协议一键听了60分钟。
我修改了一下qq参数POST了一下,发现没有登陆QQ音乐,也没有完成加速。
然后我就不停的试。不停的换QQ测试,最终发现和authst、auth这两个参数有关系,我也研究了一下,不知道这两个参数是怎么计算的。
不过呢!我把authst、auth这两个参数改成0,是可以完成加速的。没有显示登录手机QQ音乐,但是完成了加速任务。
最后,我换了几个QQ试了一下,令我失望的是···只可以加速部分QQ。听歌60分钟是没问题的。
这是289669****加速截图(成功完成加速)
这是173689****的加速截图(没有完成加速,但是完成了听歌60分钟)
到此为止,我觉得只要搞定authst、auth这两个参数就可以解决这个问题。希望各位大牛研究下这两个参数怎么计算。
先把我写的一个PHP一键加速QQ音乐的源码发出来。
测试地址:http://api.qqmzp.com/music.php?uin=10***01644 红色改成自己的QQ。
源码:
[PHP] 纯文本查看 复制代码 <?PHP
header('Content-type: application/json');
$uin = $_GET['uin'];
$listen_url="http://stat.pc.music.qq.com/fcgi-bin/qm_reportlstmus.fcg?pcachetime=1490404183";
$listen_post="qm_hideuin=".$uin."&qm_method=1&version=12&miniversion=13&uin=".$uin."&key=98175794EB27EC12EE11ABD6851F121BAF56E763975D4C749A4B826ABE270D82&guid=54EF7D2F4855FB2C5CDE1817D62385CB&gkey=17D527A3315F3AA0462D86215074D87F7660A9FF05F65E66&count=1&musicid=235112&listeninterval=4200&fromtag=0&tab=1&errcount=0&errmusicid=&errcode=&fileid=0&levelid=0&cdid=0&ruleid=0&pcpath=1:7:&webpath=&songtype=4&rec_reason=&info=C99DB9CBC6C668436C8E8B45739A3CAB2ED6CC509A9DF47E98451308F36E703CDADC3B4171FAE471A9C45F4212C9BD967853096ABF73AD154BE446F6DDE55C67BD26B09369936E78A3FC8A3475CA4304";
$listen=get_curl($listen_url,$listen_post);
echo $listen;
$login_url="http://59.37.96.220/base/fcgi-bin/login";
//$login_url="http://101.227.139.217/base/fcgi-bin/login";
$login_post='<?xml version="1.0" encoding="UTF-8"?>
<root>
<uid>3440483867</uid>
<sid>'.date("YmdHis", time()).'3440483867</sid>
<v>90</v>
<cv>6000</cv>
<ct>1</ct>
<OpenUDID>0070291CC33048D5AC0DD2B6448CA153</OpenUDID>
<mcc>460</mcc>
<mnc>11</mnc>
<chid>001</chid>
<webp>0</webp>
<gray>0</gray>
<patch>106</patch>
<review>0</review>
<jailbreak>0</jailbreak>
<nettype>1</nettype>
<qq>'.$uin.'</qq>
<authst>0</authst>
<cid>113</cid>
<auth>0</auth>
<pwd/>
<ifv>0070291CC33048D5AC0DD2B6448CA153</ifv>
<ifa>118C3CF0-FB58-40F5-AE57-98565581D491</ifa>
</root>';
$login=get_curl($login_url,$login_post,0,0,0,"QQMusic 6.0.1 (iPhone; iPhone OS 9.3; zh-CN)");
echo base64_encode($login);
function get_curl($url,$post=0,$referer=0,$cookie=0,$header=0,$ua=0,$nobaody=0){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
if($post){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if($header){
curl_setopt($ch, CURLOPT_HEADER, TRUE);
}
if($cookie){
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
if($referer){
if($referer==1){
curl_setopt($ch, CURLOPT_REFERER, "http://m.qzone.com/infocenter?g_f=");
}else{
curl_setopt($ch, CURLOPT_REFERER, $referer);
}
}
if($ua){
curl_setopt($ch, CURLOPT_USERAGENT,$ua);
}else{
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Linux; U; Android 4.0.4; es-mx; HTC_One_X Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0');
}
if($nobaody){
curl_setopt($ch, CURLOPT_NOBODY,1);//主要头部
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$ret = curl_exec($ch);
curl_close($ch);
return $ret;
}
解释一下!login我base64加密一下是因为,这个login的返回信息是乱码,如果输出 出来会看不到listen返回信息。各位可以自行测试一下。
2016年4月26日10:01:18更新,以上协议均已失效
最新听歌60分钟协议
url: "http://stat.pc.music.qq.com/fcgi-bin/qm_reportlstmus.fcg?pcachetime=1490404183",
data: "qm_hideuin=" + uin + "&qm_method=1&version=12&miniversion=53&uin=" + uin + "&key=980CCD1E404B049808F528E84C9755E94081346820A4DE76562DAAE252F4662E&guid=496A77A6CB764EA5E3692C95F17D8CA2&gkey=2179009DE3267AD697AA82E6E717D149004748F919F83F26&count=1&musicid=0&listeninterval=3599&fromtag=0&tab=1&errcount=0&errmusicid=&errcode=&fileid=0&levelid=0&cdid=0&ruleid=0&pcpath=1:6:&webpath=&songtype=4&rec_reason=&supersound=2&supersoundparam=13000&vip_level=256&info=ED598995E26C7E6DB3B0FA5DC13CD24060E6FF8B7CA12945DF5AD59AB6CFCDEC17479801EF64A1600E2E64D6C80FCCB5E80009214C6AA534C921729527672A46FCF9A24CC25035CBDFBAD6775FFCDDBA"
url为提交地址,data为post数据。分析过程和上次一样,就不在多说了
|