<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關于webQQ3.0

      直接入題

       

      通過firebug等工具,可以很直觀的分析出來,webqq3的登錄過程如下:(假設qq號為888888)

      1、

      GET:http://ptlogin2.qq.com/check?appid=1003903&uin=888888

      通過分析,其中appid大部分是1003903,可以固定為這個。

       

      服務器返回如下格式:

       

      ptui_checkVC('0','!ZLE');//不需要圖片驗證碼,紅字為驗證碼,不需要用戶輸入
      ptui_checkVC('1'* '95ab7db15e5ab17f50f25d33598259e83ccc098c4af2f8a4'//需要驗證碼,紅色為獲取驗證碼圖片的信息

       

      2、 

      GET:http://captcha.qq.com/getimage?aid=1003903&uin= 888888&vc_type=95ab7db15e5ab17f50f25d33598259e83ccc098c4af2f8a4

      這時返回驗證碼圖片

       

      3、第一次登陸握手:

       

      http://ptlogin2.qq.com/login?u=888888&p=密碼&verifycode=驗證碼&remenber_uin=1&aid=1003903&u1=http%3A%2F%2Fweb3.qq.com%2Floginproxy.html&h=1&ptredirect=0&ptlang=2052&from_ui=1&pttype=1&dumy=&fp=loginerroralert

       

        密碼是經過多次md5轉換后的值,轉換函數我放到在最后。驗證碼如果需要圖片的話,就是圖片上的字符,否則就是那個!開頭的字符串,后面紅色的是ajax的跳轉信息,必須要。

        這次登陸,相當于試探登陸,并非真正的登陸,服務器返回有以下幾種格式:

      ptuiCB('0','0'* 'http://web2.qq.com/loginproxy.html?strong=true','0','登錄成功!');

      ptuiCB(
      '4','0','','0','您輸入的驗證碼有誤,請重試。');

      ptuiCB(
      '3','0','','0','您輸入的密碼有誤,請重試。');

       

       

      4、真正的登陸,這次登陸是獨占是登陸,也就是說,另一地方正在使用的同一賬號,會被擠下線。

       

      POST:http://d.web2.qq.com/channel/login2 //這就是web3.0的登陸地址

       

      post數據:
      {
      "status":""online"","ptwebqq":"","passwd_sig":"","clientid":""}
      //登錄信息   online也就是我在線上,共有六種信息后面兩個東西是cookie里的東西,在上面的登陸步驟中,會得到的

       

       

      這次登陸,返回的cookies中,有兩個東西必須保存起來,算是通信密鑰吧,從qq上線到離線的整個周期,都需要:

      vfwebqq psessionid

       

      到現在,登陸完畢。

       

      在以后的整個過程中,會發現,所有的通信內容都是都是提交JSON與獲取JSON數據,很方便處理。

       

      下面貼上md5換算的js函數:

       

      /*
      調用方式:
      md5(md5_3("qq號碼")+"驗證碼")
      */



      var chrsz=8;
      var mode=32;
      var hexcase=1;

      function preprocess(A){
          
      var B="";
          B
      +=A.verifycode.value;
          B
      =B.toUpperCase();
          A.p.value
      =md5(md5_3(A.p.value)+B);
          
      return true;
      }

      function md5_3(B){
          
      var A=new Array;
          A
      =core_md5(str2binl(B),B.length*chrsz);
          A
      =core_md5(A,16*chrsz);
          A
      =core_md5(A,16*chrsz);
          
      return binl2hex(A);
      }

      function md5(A){
          
      return hex_md5(A);
      }

      function hex_md5(A){
          
      return binl2hex(core_md5(str2binl(A),A.length*chrsz));
      }



      function str_hmac_md5(A,B){
          
      return binl2str(core_hmac_md5(A,B));
      }


      function core_md5(K,F){
          K[F
      >>5]|=128<<((F)%32);
          K[(((F
      +64)>>>9)<<4)+14]=F;
          
      var J=1732584193;
          
      var I=-271733879;
          
      var H=-1732584194;
          
      var G=271733878;
          
      for(var C=0;C<K.length;C+=16){
              
      var E=J;
              
      var D=I;
              
      var B=H;
              
      var A=G;
              J
      =md5_ff(J,I,H,G,K[C+0],7,-680876936);
              G
      =md5_ff(G,J,I,H,K[C+1],12,-389564586);
              H
      =md5_ff(H,G,J,I,K[C+2],17,606105819);
              I
      =md5_ff(I,H,G,J,K[C+3],22,-1044525330);
              J
      =md5_ff(J,I,H,G,K[C+4],7,-176418897);
              G
      =md5_ff(G,J,I,H,K[C+5],12,1200080426);
              H
      =md5_ff(H,G,J,I,K[C+6],17,-1473231341);
              I
      =md5_ff(I,H,G,J,K[C+7],22,-45705983);
              J
      =md5_ff(J,I,H,G,K[C+8],7,1770035416);
              G
      =md5_ff(G,J,I,H,K[C+9],12,-1958414417);
              H
      =md5_ff(H,G,J,I,K[C+10],17,-42063);
              I
      =md5_ff(I,H,G,J,K[C+11],22,-1990404162);
              J
      =md5_ff(J,I,H,G,K[C+12],7,1804603682);
              G
      =md5_ff(G,J,I,H,K[C+13],12,-40341101);
              H
      =md5_ff(H,G,J,I,K[C+14],17,-1502002290);
              I
      =md5_ff(I,H,G,J,K[C+15],22,1236535329);
              J
      =md5_gg(J,I,H,G,K[C+1],5,-165796510);
              G
      =md5_gg(G,J,I,H,K[C+6],9,-1069501632);
              H
      =md5_gg(H,G,J,I,K[C+11],14,643717713);
              I
      =md5_gg(I,H,G,J,K[C+0],20,-373897302);
              J
      =md5_gg(J,I,H,G,K[C+5],5,-701558691);
              G
      =md5_gg(G,J,I,H,K[C+10],9,38016083);
              H
      =md5_gg(H,G,J,I,K[C+15],14,-660478335);
              I
      =md5_gg(I,H,G,J,K[C+4],20,-405537848);
              J
      =md5_gg(J,I,H,G,K[C+9],5,568446438);
              G
      =md5_gg(G,J,I,H,K[C+14],9,-1019803690);
              H
      =md5_gg(H,G,J,I,K[C+3],14,-187363961);
              I
      =md5_gg(I,H,G,J,K[C+8],20,1163531501);
              J
      =md5_gg(J,I,H,G,K[C+13],5,-1444681467);
              G
      =md5_gg(G,J,I,H,K[C+2],9,-51403784);
              H
      =md5_gg(H,G,J,I,K[C+7],14,1735328473);
              I
      =md5_gg(I,H,G,J,K[C+12],20,-1926607734);
              J
      =md5_hh(J,I,H,G,K[C+5],4,-378558);
              G
      =md5_hh(G,J,I,H,K[C+8],11,-2022574463);
              H
      =md5_hh(H,G,J,I,K[C+11],16,1839030562);
              I
      =md5_hh(I,H,G,J,K[C+14],23,-35309556);
              J
      =md5_hh(J,I,H,G,K[C+1],4,-1530992060);
              G
      =md5_hh(G,J,I,H,K[C+4],11,1272893353);
              H
      =md5_hh(H,G,J,I,K[C+7],16,-155497632);
              I
      =md5_hh(I,H,G,J,K[C+10],23,-1094730640);
              J
      =md5_hh(J,I,H,G,K[C+13],4,681279174);
              G
      =md5_hh(G,J,I,H,K[C+0],11,-358537222);
              H
      =md5_hh(H,G,J,I,K[C+3],16,-722521979);
              I
      =md5_hh(I,H,G,J,K[C+6],23,76029189);
              J
      =md5_hh(J,I,H,G,K[C+9],4,-640364487);
              G
      =md5_hh(G,J,I,H,K[C+12],11,-421815835);
              H
      =md5_hh(H,G,J,I,K[C+15],16,530742520);
              I
      =md5_hh(I,H,G,J,K[C+2],23,-995338651);
              J
      =md5_ii(J,I,H,G,K[C+0],6,-198630844);
              G
      =md5_ii(G,J,I,H,K[C+7],10,1126891415);
              H
      =md5_ii(H,G,J,I,K[C+14],15,-1416354905);
              I
      =md5_ii(I,H,G,J,K[C+5],21,-57434055);
              J
      =md5_ii(J,I,H,G,K[C+12],6,1700485571);
              G
      =md5_ii(G,J,I,H,K[C+3],10,-1894986606);
              H
      =md5_ii(H,G,J,I,K[C+10],15,-1051523);
              I
      =md5_ii(I,H,G,J,K[C+1],21,-2054922799);
              J
      =md5_ii(J,I,H,G,K[C+8],6,1873313359);
              G
      =md5_ii(G,J,I,H,K[C+15],10,-30611744);
              H
      =md5_ii(H,G,J,I,K[C+6],15,-1560198380);
              I
      =md5_ii(I,H,G,J,K[C+13],21,1309151649);
              J
      =md5_ii(J,I,H,G,K[C+4],6,-145523070);
              G
      =md5_ii(G,J,I,H,K[C+11],10,-1120210379);
              H
      =md5_ii(H,G,J,I,K[C+2],15,718787259);
              I
      =md5_ii(I,H,G,J,K[C+9],21,-343485551);
              J
      =safe_add(J,E);
              I
      =safe_add(I,D);
              H
      =safe_add(H,B);
              G
      =safe_add(G,A);
          }
          
      if(mode==16){
              
      return Array(I,H);
          }
      else{
              
      return Array(J,I,H,G);
          }
      }

      function md5_cmn(F,C,B,A,E,D){
          
      return safe_add(bit_rol(safe_add(safe_add(C,F),safe_add(A,D)),E),B);
      }

      function md5_ff(C,B,G,F,A,E,D){
          
      return md5_cmn((B&G)|((~B)&F),C,B,A,E,D);
      }

      function md5_gg(C,B,G,F,A,E,D){
          
      return md5_cmn((B&F)|(G&(~F)),C,B,A,E,D);
      }

      function md5_hh(C,B,G,F,A,E,D){
          
      return md5_cmn(B^G^F,C,B,A,E,D);
      }

      function md5_ii(C,B,G,F,A,E,D){
          
      return md5_cmn(G^(B|(~F)),C,B,A,E,D);
      }

      function core_hmac_md5(C,F){
          
      var E=str2binl(C);
          
      if(E.length>16){
              E
      =core_md5(E,C.length*chrsz);
          }
          
      var A=Array(16),D=Array(16);
          
      for(var B=0;B<16;B++){
              A[B]
      =E[B]^909522486;
              D[B]
      =E[B]^1549556828;
          }
          
      var G=core_md5(A.concat(str2binl(F)),512+F.length*chrsz);
          
      return core_md5(D.concat(G),512+128);
      }

      function safe_add(A,D){
          
      var C=(A&65535)+(D&65535);
          
      var B=(A>>16)+(D>>16)+(C>>16);
          
      return(B<<16)|(C&65535);
      }

      function bit_rol(A,B){
          
      return(A<<B)|(A>>>(32-B));
      }

      function str2binl(D){
          
      var C=Array();
          
      var A=(1<<chrsz)-1;
          
      for(var B=0;B<D.length*chrsz;B+=chrsz){
              C[B
      >>5]|=(D.charCodeAt(B/chrsz)&A)<<(B%32);
          }
          
      return C;
      }

      function binl2str(C){
          
      var D="";
          
      var A=(1<<chrsz)-1;
          
      for(var B=0;B<C.length*32;B+=chrsz){
              D
      +=String.fromCharCode((C[B>>5]>>>(B%32))&A);
          }
          
      return D;
      }

      function binl2hex(C){
          
      var B=hexcase?"0123456789ABCDEF":"0123456789abcdef";
          
      var D="";
          
      for(var A=0;A<C.length*4;A++){
              D
      +=B.charAt((C[A>>2]>>((A%4)*8+4))&15)+B.charAt((C[A>>2]>>((A%4)*8))&15);
          }
          
      return D;
      }

       

       

       

      就這些吧。。。。。敬禮~

      posted on 2011-05-04 23:13  黑暗伯爵  閱讀(3587)  評論(2)    收藏  舉報

      導航

      主站蜘蛛池模板: 91福利一区福利二区| 少妇特黄a一区二区三区| 中文字幕日韩人妻一区| 4480yy亚洲午夜私人影院剧情| 午夜免费国产体验区免费的| 武鸣县| 深夜福利成人免费在线观看| 久久一区二区中文字幕| 国产jjizz女人多水喷水| 国产午夜福利视频第三区| 青青青爽在线视频观看| 免费无遮挡无码永久视频| 国产精品视频露脸| 国产一区二区高清不卡| 中文乱码人妻系列一区二区| 亚洲综合91社区精品福利| 通榆县| 久久亚洲国产五月综合网| 亚洲一区久久蜜臀av| 国产在线线精品宅男网址| 亚洲成av人在线播放无码| 夜夜嗨久久人成在日日夜夜| 国产毛片三区二区一区| 国产亚洲欧美在线观看三区| 国产精品中文第一字幕 | 国产亚洲精品综合一区二区| 体验区试看120秒啪啪免费| 永久免费的av在线电影网| 亚洲高清WWW色好看美女| 大尺度国产一区二区视频| 崇义县| 精品国产成人国产在线观看| 色综合天天综合天天综 | 精品无码一区二区三区电影| 亚洲av色香蕉一二三区| 国产综合久久久久鬼色| 久久国内精品一国内精品| 美乳丰满人妻无码视频| 肉大捧一进一出免费视频| 国产成人av三级在线观看| 亚洲 制服 丝袜 无码|