查看完整版本: [-- 最终解析磁力方法。 --]

APlayer 开发者论坛 -> APlayer 讨论区 -> 最终解析磁力方法。 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

xushen 2015-07-27 01:15

最终解析磁力方法。

我们知道

磁力是这样的
magnet:?xt=urn:btih:94EF7E99BE4C42A8CE8C293826850C5F754C2365&xl=2357506850&dn=%E7%94%B5%E9%94%AF%E6%83%8A%E9%AD%827.%E4%B8%AD%E8%8B%B1%E5%AD%97%E5%B9%95%EF%BF%A1%E5%9C%A3%E5%9F%8E%E6%89%93%E4%BD%9B


其实我们要的只是94EF7E99BE4C42A8CE8C293826850C5F754C2365罢了后面那些参数是给下载软件使用的(可以获取到文件名(下载参数)啦),但是我们要的就是那40位hash.


现在支持解析的磁力方法并不多。有QQ旋风、还有迅雷(现在的迅雷,呵呵嗒),QQ旋风还是很不错的。一些热门的资源都有。

本文章就以QQ旋风为列说说吧

可以有的开发者会使用PHP就行QQ旋风的操作。因为PHP操作的旋风使用的IP是固定的。不论使用者在山东也好江苏也好。还是西藏也好。都是一个IP。

但是如果使用易语言或者其它开发语言去写。直接使用易语言登录不但不安全(可能会被抓包,导致QQ被盗(图什么呢?))还会出现验证码等等一系列杂七乱八的东西。因为你登陆的IP不是固定的一会是山东一会是新疆的。而且还有可能"占线"。反正怎么说就是不安全。建议使用PHP。

关于PHP网上教程甚多。就不怎么详细说了。我也是New hand(新手)



其实我们要首先要登录腾讯的QQ旋风服务器 我这里演示就不使用PHP了。使用易语言本身登录吧。

PS:易语言登录坑爹 要JS代码还有一系列杂七乱八的东西 反正不好玩
编辑框1=帐号 编辑框2=密码 编辑框3=验证码
首先获取pt_verifysession_v1

  1. .版本 2

    .子程序 Get_pt_verifysession_v1
    .局部变量 cookies_, 文本型
    .局部变量 state, 文本型
    .局部变量 json, 类_json

    state = 到文本 (网页_访问 (“http://check.ptlogin2.qq.com/check?regmaster=&pt_tea=1&pt_vcode=1&uin=” + 编辑框1.内容 + “&appid=715030901&js_ver=10127&js_type=1&login_sig=jJBceXvWs2HK1OnKnIQSAThPRVoPMbqvxi00NIWRVDsOpJWC53kYB79RbKr3Wo29&u1=http://qun.qq.com/index.html#&r=” + 时间_取随机时间戳 (), , , , cookies_, , ))
    Ver_Code = 文本_取出中间文本 (state, “,'”, “','\”)
    编辑框3.内容 = Ver_Code
    pt_verifysession_v1 = 文本_取出中间文本 (文本_取出中间文本 (state, “\”, “,'0');”), “','”, “'”)
cookies__sig

  1. .版本 2

    .子程序 Get_cookies__sig

    网页_访问 (“http://ui.ptlogin2.qq.com/cgi-bin/login?appid=715030901&daid=73&pt_no_auth=1&s_url=http%3A%2F%2Fqun.qq.com%2Findex.html%23”, , , , cookies__sig, )
    cookies__sig = 文本_取出中间文本 (cookies__sig, “_sig=”, “; pt_clie”)
还要计算一个G_tk
  1. .版本 2

    .子程序 计算G_tk, 文本型
    .参数 skey, 文本型
    .局部变量 hash, 整数型
    .局部变量 计次, 整数型

    hash = 5381
    .变量循环首 (1, 取文本长度 (skey), 1, 计次)
        hash = hash + hash × 求次方 (2, 5) + 取字节集数据 (ANSI转UNICODE (取文本中间 (skey, 计次, 1)), 3, )
    .变量循环尾 ()
    返回 (到文本 (位与 (hash, 十六到十 (“7fffffff”))))

JS代码为

  1. var window=window|| {};
    RSA = function () {
        function g(z, t) {
            return new ar(z, t);
        }
        function ah(aA, aB) {
            var t = "";
            var z = 0;
            while (z + aB < aA.length) {
                t += aA.substring(z, z + aB) + "\n";
                z += aB;
            }
            return t + aA.substring(z, aA.length);
        }
        function r(t) {
            if (t < 16) {
                return "0" + t.toString(16);
            } else {
                return t.toString(16);
            }
        }
        function af(aB, aE) {
            if (aE < aB.length + 11) {
                uv_alert("Message too long for RSA");
                return null;
            }
            var aD = new Array();
            var aA = aB.length - 1;
            while (aA >= 0 && aE > 0) {
                var aC = aB.charCodeAt(aA--);
                aD[--aE] = aC;
            }
            aD[--aE] = 0;
            var z = new ad();
            var t = new Array();
            while (aE > 2) {
                t[0] = 0;
                while (t[0] == 0) {
                    z.nextBytes(t);
                }
                aD[--aE] = t[0];
            }
            aD[--aE] = 2;
            aD[--aE] = 0;
            return new ar(aD);
        }
        function L() {
            this.n = null;
            this.e = 0;
            this.d = null;
            this.p = null;
            this.q = null;
            this.dmp1 = null;
            this.dmq1 = null;
            this.coeff = null;
        }
        function o(z, t) {
            if (z != null && t != null && z.length > 0 && t.length > 0) {
                this.n = g(z, 16);
                this.e = parseInt(t, 16);
            } else {
                uv_alert("Invalid RSA public key");
            }
        }
        function W(t) {
            return t.modPowInt(this.e, this.n);
        }
        function p(aA) {
            var t = af(aA, (this.n.bitLength() + 7) >> 3);
            if (t == null) {
                return null;
            }
            var aB = this.doPublic(t);
            if (aB == null) {
                return null;
            }
            var z = aB.toString(16);
            if ((z.length & 1) == 0) {
                return z;
            } else {
                return "0" + z;
            }
        }
        L.prototype.doPublic = W;
        L.prototype.setPublic = o;
        L.prototype.encrypt = p;
        var aw;
        var ai = 244837814094590;
        var Z = ((ai & 16777215) == 15715070);
        function ar(z, t, aA) {
            if (z != null) {
                if ("number" == typeof z) {
                    this.fromNumber(z, t, aA);
                } else {
                    if (t == null && "string" != typeof z) {
                        this.fromString(z, 256);
                    } else {
                        this.fromString(z, t);
                    }
                }
            }
        }
        function h() {
            return new ar(null);
        }
        function b(aC, t, z, aB, aE, aD) {
            while (--aD >= 0) {
                var aA = t * this[aC++] + z[aB] + aE;
                aE = Math.floor(aA / 67108864);
                z[aB++] = aA & 67108863;
            }
            return aE;
        }
        function ay(aC, aH, aI, aB, aF, t) {
            var aE = aH & 32767, aG = aH >> 15;
            while (--t >= 0) {
                var aA = this[aC] & 32767;
                var aD = this[aC++] >> 15;
                var z = aG * aA + aD * aE;
                aA = aE * aA + ((z & 32767) << 15) + aI[aB] + (aF & 1073741823);
                aF = (aA >>> 30) + (z >>> 15) + aG * aD + (aF >>> 30);
                aI[aB++] = aA & 1073741823;
            }
            return aF;
        }
        function ax(aC, aH, aI, aB, aF, t) {
            var aE = aH & 16383, aG = aH >> 14;
            while (--t >= 0) {
                var aA = this[aC] & 16383;
                var aD = this[aC++] >> 14;
                var z = aG * aA + aD * aE;
                aA = aE * aA + ((z & 16383) << 14) + aI[aB] + aF;
                aF = (aA >> 28) + (z >> 14) + aG * aD;
                aI[aB++] = aA & 268435455;
            }
            return aF;
        }


                ar.prototype.am = b;
                aw = 26;

        ar.prototype.DB = aw;
        ar.prototype.DM = ((1 << aw) - 1);
        ar.prototype.DV = (1 << aw);
        var aa = 52;
        ar.prototype.FV = Math.pow(2, aa);
        ar.prototype.F1 = aa - aw;
        ar.prototype.F2 = 2 * aw - aa;
        var ae = "0123456789abcdefghijklmnopqrstuvwxyz";
        var ag = new Array();
        var ap, v;
        ap = "0".charCodeAt(0);
        for (v = 0; v <= 9; ++v) {
            ag[ap++] = v;
        }
        ap = "a".charCodeAt(0);
        for (v = 10; v < 36; ++v) {
            ag[ap++] = v;
        }
        ap = "A".charCodeAt(0);
        for (v = 10; v < 36; ++v) {
            ag[ap++] = v;
        }
        function az(t) {
            return ae.charAt(t);
        }
        function A(z, t) {
            var aA = ag[z.charCodeAt(t)];
            return (aA == null) ? -1 : aA;
        }
        function Y(z) {
            for (var t = this.t - 1; t >= 0; --t) {
                z[t] = this[t];
            }
            z.t = this.t;
            z.s = this.s;
        }
        function n(t) {
            this.t = 1;
            this.s = (t < 0) ? -1 : 0;
            if (t > 0) {
                this[0] = t;
            } else {
                if (t < -1) {
                    this[0] = t + DV;
                } else {
                    this.t = 0;
                }
            }
        }
        function c(t) {
            var z = h();
            z.fromInt(t);
            return z;
        }
        function w(aE, z) {
            var aB;
            if (z == 16) {
                aB = 4;
            } else {
                if (z == 8) {
                    aB = 3;
                } else {
                    if (z == 256) {
                        aB = 8;
                    } else {
                        if (z == 2) {
                            aB = 1;
                        } else {
                            if (z == 32) {
                                aB = 5;
                            } else {
                                if (z == 4) {
                                    aB = 2;
                                } else {
                                    this.fromRadix(aE, z);
                                    return;
                                }
                            }
                        }
                    }
                }
            }
            this.t = 0;
            this.s = 0;
            var aD = aE.length, aA = false, aC = 0;
            while (--aD >= 0) {
                var t = (aB == 8) ? aE[aD] & 255 : A(aE, aD);
                if (t < 0) {
                    if (aE.charAt(aD) == "-") {
                        aA = true;
                    }
                    continue;
                }
                aA = false;
                if (aC == 0) {
                    this[this.t++] = t;
                } else {
                    if (aC + aB > this.DB) {
                        this[this.t - 1] |= (t & ((1 << (this.DB - aC)) - 1)) << aC;
                        this[this.t++] = (t >> (this.DB - aC));
                    } else {
                        this[this.t - 1] |= t << aC;
                    }
                }
                aC += aB;
                if (aC >= this.DB) {
                    aC -= this.DB;
                }
            }
            if (aB == 8 && (aE[0] & 128) != 0) {
                this.s = -1;
                if (aC > 0) {
                    this[this.t - 1] |= ((1 << (this.DB - aC)) - 1) << aC;
                }
            }
            this.clamp();
            if (aA) {
                ar.ZERO.subTo(this, this);
            }
        }
        function O() {
            var t = this.s & this.DM;
            while (this.t > 0 && this[this.t - 1] == t) {
                --this.t;
            }
        }
        function q(z) {
            if (this.s < 0) {
                return "-" + this.negate().toString(z);
            }
            var aA;
            if (z == 16) {
                aA = 4;
            } else {
                if (z == 8) {
                    aA = 3;
                } else {
                    if (z == 2) {
                        aA = 1;
                    } else {
                        if (z == 32) {
                            aA = 5;
                        } else {
                            if (z == 4) {
                                aA = 2;
                            } else {
                                return this.toRadix(z);
                            }
                        }
                    }
                }
            }
            var aC = (1 << aA) - 1, aF, t = false, aD = "", aB = this.t;
            var aE = this.DB - (aB * this.DB) % aA;
            if (aB-- > 0) {
                if (aE < this.DB && (aF = this[aB] >> aE) > 0) {
                    t = true;
                    aD = az(aF);
                }
                while (aB >= 0) {
                    if (aE < aA) {
                        aF = (this[aB] & ((1 << aE) - 1)) << (aA - aE);
                        aF |= this[--aB] >> (aE += this.DB - aA);
                    } else {
                        aF = (this[aB] >> (aE -= aA)) & aC;
                        if (aE <= 0) {
                            aE += this.DB;
                            --aB;
                        }
                    }
                    if (aF > 0) {
                        t = true;
                    }
                    if (t) {
                        aD += az(aF);
                    }
                }
            }
            return t ? aD : "0";
        }
        function R() {
            var t = h();
            ar.ZERO.subTo(this, t);
            return t;
        }
        function al() {
            return (this.s < 0) ? this.negate() : this;
        }
        function G(t) {
            var aA = this.s - t.s;
            if (aA != 0) {
                return aA;
            }
            var z = this.t;
            aA = z - t.t;
            if (aA != 0) {
                return aA;
            }
            while (--z >= 0) {
                if ((aA = this[z] - t[z]) != 0) {
                    return aA;
                }
            }
            return 0;
        }
        function j(z) {
            var aB = 1, aA;
            if ((aA = z >>> 16) != 0) {
                z = aA;
                aB += 16;
            }
            if ((aA = z >> 8) != 0) {
                z = aA;
                aB += 8;
            }
            if ((aA = z >> 4) != 0) {
                z = aA;
                aB += 4;
            }
            if ((aA = z >> 2) != 0) {
                z = aA;
                aB += 2;
            }
            if ((aA = z >> 1) != 0) {
                z = aA;
                aB += 1;
            }
            return aB;
        }
        function u() {
            if (this.t <= 0) {
                return 0;
            }
            return this.DB * (this.t - 1) + j(this[this.t - 1] ^ (this.s & this.DM));
        }
        function aq(aA, z) {
            var t;
            for (t = this.t - 1; t >= 0; --t) {
                z[t + aA] = this[t];
            }
            for (t = aA - 1; t >= 0; --t) {
                z[t] = 0;
            }
            z.t = this.t + aA;
            z.s = this.s;
        }
        function X(aA, z) {
            for (var t = aA; t < this.t; ++t) {
                z[t - aA] = this[t];
            }
            z.t = Math.max(this.t - aA, 0);
            z.s = this.s;
        }
        function s(aF, aB) {
            var z = aF % this.DB;
            var t = this.DB - z;
            var aD = (1 << t) - 1;
            var aC = Math.floor(aF / this.DB), aE = (this.s << z) & this.DM, aA;
            for (aA = this.t - 1; aA >= 0; --aA) {
                aB[aA + aC + 1] = (this[aA] >> t) | aE;
                aE = (this[aA] & aD) << z;
            }
            for (aA = aC - 1; aA >= 0; --aA) {
                aB[aA] = 0;
            }
            aB[aC] = aE;
            aB.t = this.t + aC + 1;
            aB.s = this.s;
            aB.clamp();
        }
        function l(aE, aB) {
            aB.s = this.s;
            var aC = Math.floor(aE / this.DB);
            if (aC >= this.t) {
                aB.t = 0;
                return;
            }
            var z = aE % this.DB;
            var t = this.DB - z;
            var aD = (1 << z) - 1;
            aB[0] = this[aC] >> z;
            for (var aA = aC + 1; aA < this.t; ++aA) {
                aB[aA - aC - 1] |= (this[aA] & aD) << t;
                aB[aA - aC] = this[aA] >> z;
            }
            if (z > 0) {
                aB[this.t - aC - 1] |= (this.s & aD) << t;
            }
            aB.t = this.t - aC;
            aB.clamp();
        }
        function ab(z, aB) {
            var aA = 0, aC = 0, t = Math.min(z.t, this.t);
            while (aA < t) {
                aC += this[aA] - z[aA];
                aB[aA++] = aC & this.DM;
                aC >>= this.DB;
            }
            if (z.t < this.t) {
                aC -= z.s;
                while (aA < this.t) {
                    aC += this[aA];
                    aB[aA++] = aC & this.DM;
                    aC >>= this.DB;
                }
                aC += this.s;
            } else {
                aC += this.s;
                while (aA < z.t) {
                    aC -= z[aA];
                    aB[aA++] = aC & this.DM;
                    aC >>= this.DB;
                }
                aC -= z.s;
            }
            aB.s = (aC < 0) ? -1 : 0;
            if (aC < -1) {
                aB[aA++] = this.DV + aC;
            } else {
                if (aC > 0) {
                    aB[aA++] = aC;
                }
            }
            aB.t = aA;
            aB.clamp();
        }
        function D(z, aB) {
            var t = this.abs(), aC = z.abs();
            var aA = t.t;
            aB.t = aA + aC.t;
            while (--aA >= 0) {
                aB[aA] = 0;
            }
            for (aA = 0; aA < aC.t; ++aA) {
                aB[aA + t.t] = t.am(0, aC[aA], aB, aA, 0, t.t);
            }
            aB.s = 0;
            aB.clamp();
            if (this.s != z.s) {
                ar.ZERO.subTo(aB, aB);
            }
        }
        function Q(aA) {
            var t = this.abs();
            var z = aA.t = 2 * t.t;
            while (--z >= 0) {
                aA[z] = 0;
            }
            for (z = 0; z < t.t - 1; ++z) {
                var aB = t.am(z, t[z], aA, 2 * z, 0, 1);
                if ((aA[z + t.t] += t.am(z + 1, 2 * t[z], aA, 2 * z + 1, aB, t.t - z - 1)) >= t.DV) {
                    aA[z + t.t] -= t.DV;
                    aA[z + t.t + 1] = 1;
                }
            }
            if (aA.t > 0) {
                aA[aA.t - 1] += t.am(z, t[z], aA, 2 * z, 0, 1);
            }
            aA.s = 0;
            aA.clamp();
        }
        function E(aI, aF, aE) {
            var aO = aI.abs();
            if (aO.t <= 0) {
                return;
            }
            var aG = this.abs();
            if (aG.t < aO.t) {
                if (aF != null) {
                    aF.fromInt(0);
                }
                if (aE != null) {
                    this.copyTo(aE);
                }
                return;
            }
            if (aE == null) {
                aE = h();
            }
            var aC = h(), z = this.s, aH = aI.s;
            var aN = this.DB - j(aO[aO.t - 1]);
            if (aN > 0) {
                aO.lShiftTo(aN, aC);
                aG.lShiftTo(aN, aE);
            } else {
                aO.copyTo(aC);
                aG.copyTo(aE);
            }
            var aK = aC.t;
            var aA = aC[aK - 1];
            if (aA == 0) {
                return;
            }
            var aJ = aA * (1 << this.F1) + ((aK > 1) ? aC[aK - 2] >> this.F2 : 0);
            var aR = this.FV / aJ, aQ = (1 << this.F1) / aJ, aP = 1 << this.F2;
            var aM = aE.t, aL = aM - aK, aD = (aF == null) ? h() : aF;
            aC.dlShiftTo(aL, aD);
            if (aE.compareTo(aD) >= 0) {
                aE[aE.t++] = 1;
                aE.subTo(aD, aE);
            }
            ar.ONE.dlShiftTo(aK, aD);
            aD.subTo(aC, aC);
            while (aC.t < aK) {
                aC[aC.t++] = 0;
            }
            while (--aL >= 0) {
                var aB = (aE[--aM] == aA) ? this.DM : Math.floor(aE[aM] * aR + (aE[aM - 1] + aP) * aQ);
                if ((aE[aM] += aC.am(0, aB, aE, aL, 0, aK)) < aB) {
                    aC.dlShiftTo(aL, aD);
                    aE.subTo(aD, aE);
                    while (aE[aM] < --aB) {
                        aE.subTo(aD, aE);
                    }
                }
            }
            if (aF != null) {
                aE.drShiftTo(aK, aF);
                if (z != aH) {
                    ar.ZERO.subTo(aF, aF);
                }
            }
            aE.t = aK;
            aE.clamp();
            if (aN > 0) {
                aE.rShiftTo(aN, aE);
            }
            if (z < 0) {
                ar.ZERO.subTo(aE, aE);
            }
        }
        function N(t) {
            var z = h();
            this.abs().divRemTo(t, null, z);
            if (this.s < 0 && z.compareTo(ar.ZERO) > 0) {
                t.subTo(z, z);
            }
            return z;
        }
        function K(t) {
            this.m = t;
        }
        function V(t) {
            if (t.s < 0 || t.compareTo(this.m) >= 0) {
                return t.mod(this.m);
            } else {
                return t;
            }
        }
        function ak(t) {
            return t;
        }
        function J(t) {
            t.divRemTo(this.m, null, t);
        }
        function H(t, aA, z) {
            t.multiplyTo(aA, z);
            this.reduce(z);
        }
        function au(t, z) {
            t.squareTo(z);
            this.reduce(z);
        }
        K.prototype.convert = V;
        K.prototype.revert = ak;
        K.prototype.reduce = J;
        K.prototype.mulTo = H;
        K.prototype.sqrTo = au;
        function B() {
            if (this.t < 1) {
                return 0;
            }
            var t = this[0];
            if ((t & 1) == 0) {
                return 0;
            }
            var z = t & 3;
            z = (z * (2 - (t & 15) * z)) & 15;
            z = (z * (2 - (t & 255) * z)) & 255;
            z = (z * (2 - (((t & 65535) * z) & 65535))) & 65535;
            z = (z * (2 - t * z % this.DV)) % this.DV;
            return (z > 0) ? this.DV - z : -z;
        }
        function f(t) {
            this.m = t;
            this.mp = t.invDigit();
            this.mpl = this.mp & 32767;
            this.mph = this.mp >> 15;
            this.um = (1 << (t.DB - 15)) - 1;
            this.mt2 = 2 * t.t;
        }
        function aj(t) {
            var z = h();
            t.abs().dlShiftTo(this.m.t, z);
            z.divRemTo(this.m, null, z);
            if (t.s < 0 && z.compareTo(ar.ZERO) > 0) {
                this.m.subTo(z, z);
            }
            return z;
        }
        function at(t) {
            var z = h();
            t.copyTo(z);
            this.reduce(z);
            return z;
        }
        function P(t) {
            while (t.t <= this.mt2) {
                t[t.t++] = 0;
            }
            for (var aA = 0; aA < this.m.t; ++aA) {
                var z = t[aA] & 32767;
                var aB = (z * this.mpl + (((z * this.mph + (t[aA] >> 15) * this.mpl) & this.um) << 15)) & t.DM;
                z = aA + this.m.t;
                t[z] += this.m.am(0, aB, t, aA, 0, this.m.t);
                while (t[z] >= t.DV) {
                    t[z] -= t.DV;
                    t[++z]++;
                }
            }
            t.clamp();
            t.drShiftTo(this.m.t, t);
            if (t.compareTo(this.m) >= 0) {
                t.subTo(this.m, t);
            }
        }
        function am(t, z) {
            t.squareTo(z);
            this.reduce(z);
        }
        function y(t, aA, z) {
            t.multiplyTo(aA, z);
            this.reduce(z);
        }
        f.prototype.convert = aj;
        f.prototype.revert = at;
        f.prototype.reduce = P;
        f.prototype.mulTo = y;
        f.prototype.sqrTo = am;
        function i() {
            return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;
        }
        function x(aF, aG) {
            if (aF > 4294967295 || aF < 1) {
                return ar.ONE;
            }
            var aE = h(), aA = h(), aD = aG.convert(this), aC = j(aF) - 1;
            aD.copyTo(aE);
            while (--aC >= 0) {
                aG.sqrTo(aE, aA);
                if ((aF & (1 << aC)) > 0) {
                    aG.mulTo(aA, aD, aE);
                } else {
                    var aB = aE;
                    aE = aA;
                    aA = aB;
                }
            }
            return aG.revert(aE);
        }
        function an(aA, t) {
            var aB;
            if (aA < 256 || t.isEven()) {
                aB = new K(t);
            } else {
                aB = new f(t);
            }
            return this.exp(aA, aB);
        }
        ar.prototype.copyTo = Y;
        ar.prototype.fromInt = n;
        ar.prototype.fromString = w;
        ar.prototype.clamp = O;
        ar.prototype.dlShiftTo = aq;
        ar.prototype.drShiftTo = X;
        ar.prototype.lShiftTo = s;
        ar.prototype.rShiftTo = l;
        ar.prototype.subTo = ab;
        ar.prototype.multiplyTo = D;
        ar.prototype.squareTo = Q;
        ar.prototype.divRemTo = E;
        ar.prototype.invDigit = B;
        ar.prototype.isEven = i;
        ar.prototype.exp = x;
        ar.prototype.toString = q;
        ar.prototype.negate = R;
        ar.prototype.abs = al;
        ar.prototype.compareTo = G;
        ar.prototype.bitLength = u;
        ar.prototype.mod = N;
        ar.prototype.modPowInt = an;
        ar.ZERO = c(0);
        ar.ONE = c(1);
        var m;
        var U;
        var ac;
        function d(t) {
            U[ac++] ^= t & 255;
            U[ac++] ^= (t >> 8) & 255;
            U[ac++] ^= (t >> 16) & 255;
            U[ac++] ^= (t >> 24) & 255;
            if (ac >= M) {
                ac -= M;
            }
        }
        function T() {
            d(new Date().getTime());
        }
        if (U == null) {
            U = new Array();
            ac = 0;
            var I;

                I = Math.floor(65536 * Math.random());
                U[ac++] = I >>> 8;
                U[ac++] = I & 255;

        }
        function C() {
            if (m == null) {
                T();
                m = ao();
                m.init(U);
                for (ac = 0; ac < U.length; ++ac) {
                    U[ac] = 0;
                }
                ac = 0;
            }
            return m.next();
        }
        function av(z) {
            var t;
            for (t = 0; t < z.length; ++t) {
                z[t] = C();
            }
        }
        function ad() {
        }
        ad.prototype.nextBytes = av;
        function k() {
            this.i = 0;
            this.j = 0;
            this.S = new Array();
        }
        function e(aC) {
            var aB, z, aA;
            for (aB = 0; aB < 256; ++aB) {
                this.S[aB] = aB;
            }
            z = 0;
            for (aB = 0; aB < 256; ++aB) {
                z = (z + this.S[aB] + aC[aB % aC.length]) & 255;
                aA = this.S[aB];
                this.S[aB] = this.S[z];
                this.S[z] = aA;
            }
            this.i = 0;
            this.j = 0;
        }
        function a() {
            var z;
            this.i = (this.i + 1) & 255;
            this.j = (this.j + this.S[this.i]) & 255;
            z = this.S[this.i];
            this.S[this.i] = this.S[this.j];
            this.S[this.j] = z;
            return this.S[(z + this.S[this.i]) & 255];
        }
        k.prototype.init = e;
        k.prototype.next = a;
        function ao() {
            return new k();
        }
        var M = 256;
        function S(aB, aA, z) {
            aA = "F20CE00BAE5361F8FA3AE9CEFA495362FF7DA1BA628F64A347F0A8C012BF0B254A30CD92ABFFE7A6EE0DC424CB6166F8819EFA5BCCB20EDFB4AD02E412CCF579B1CA711D55B8B0B3AEB60153D5E0693A2A86F3167D7847A0CB8B00004716A9095D9BADC977CBB804DBDCBA6029A9710869A453F27DFDDF83C016D928B3CBF4C7";
            z = "3";
            var t = new L();
            t.setPublic(aA, z);
            return t.encrypt(aB);
        }
        return { rsa_encrypt: S };
    }();
    (function (q) {
        var r = "", a = 0, g = [], w = [], x = 0, t = 0, l = [], s = [], m = true;
        function e() {
            return Math.round(Math.random() * 4294967295);
        }
        function i(B, C, y) {
            if (!y || y > 4) {
                y = 4;
            }
            var z = 0;
            for (var A = C; A < C + y; A++) {
                z <<= 8;
                z |= B[A];
            }
            return (z & 4294967295) >>> 0;
        }
        function b(z, A, y) {
            z[A + 3] = (y >> 0) & 255;
            z[A + 2] = (y >> 8) & 255;
            z[A + 1] = (y >> 16) & 255;
            z[A + 0] = (y >> 24) & 255;
        }
        function v(B) {
            if (!B) {
                return "";
            }
            var y = "";
            for (var z = 0; z < B.length; z++) {
                var A = Number(B[z]).toString(16);
                if (A.length == 1) {
                    A = "0" + A;
                }
                y += A;
            }
            return y;
        }
        function u(z) {
            var A = "";
            for (var y = 0; y < z.length; y += 2) {
                A += String.fromCharCode(parseInt(z.substr(y, 2), 16));
            }
            return A;
        }
        function c(A) {
            if (!A) {
                return "";
            }
            var z = [];
            for (var y = 0; y < A.length; y++) {
                z[y] = A.charCodeAt(y);
            }
            return v(z);
        }
        function h(A) {
            g = new Array(8);
            w = new Array(8);
            x = t = 0;
            m = true;
            a = 0;
            var y = A.length;
            var B = 0;
            a = (y + 10) % 8;
            if (a != 0) {
                a = 8 - a;
            }
            l = new Array(y + a + 10);
            g[0] = ((e() & 248) | a) & 255;
            for (var z = 1; z <= a; z++) {
                g[z] = e() & 255;
            }
            a++;
            for (var z = 0; z < 8; z++) {
                w[z] = 0;
            }
            B = 1;
            while (B <= 2) {
                if (a < 8) {
                    g[a++] = e() & 255;
                    B++;
                }
                if (a == 8) {
                    o();
                }
            }
            var z = 0;
            while (y > 0) {
                if (a < 8) {
                    g[a++] = A[z++];
                    y--;
                }
                if (a == 8) {
                    o();
                }
            }
            B = 1;
            while (B <= 7) {
                if (a < 8) {
                    g[a++] = 0;
                    B++;
                }
                if (a == 8) {
                    o();
                }
            }
            return l;
        }
        function p(C) {
            var B = 0;
            var z = new Array(8);
            var y = C.length;
            s = C;
            if (y % 8 != 0 || y < 16) {
                return null;
            }
            w = k(C);
            a = w[0] & 7;
            B = y - a - 10;
            if (B < 0) {
                return null;
            }
            for (var A = 0; A < z.length; A++) {
                z[A] = 0;
            }
            l = new Array(B);
            t = 0;
            x = 8;
            a++;
            var D = 1;
            while (D <= 2) {
                if (a < 8) {
                    a++;
                    D++;
                }
                if (a == 8) {
                    z = C;
                    if (!f()) {
                        return null;
                    }
                }
            }
            var A = 0;
            while (B != 0) {
                if (a < 8) {
                    l[A] = (z[t + a] ^ w[a]) & 255;
                    A++;
                    B--;
                    a++;
                }
                if (a == 8) {
                    z = C;
                    t = x - 8;
                    if (!f()) {
                        return null;
                    }
                }
            }
            for (D = 1; D < 8; D++) {
                if (a < 8) {
                    if ((z[t + a] ^ w[a]) != 0) {
                        return null;
                    }
                    a++;
                }
                if (a == 8) {
                    z = C;
                    t = x;
                    if (!f()) {
                        return null;
                    }
                }
            }
            return l;
        }
        function o() {
            for (var y = 0; y < 8; y++) {
                if (m) {
                    g[y] ^= w[y];
                } else {
                    g[y] ^= l[t + y];
                }
            }
            var z = j(g);
            for (var y = 0; y < 8; y++) {
                l[x + y] = z[y] ^ w[y];
                w[y] = g[y];
            }
            t = x;
            x += 8;
            a = 0;
            m = false;
        }
        function j(A) {
            var B = 16;
            var G = i(A, 0, 4);
            var F = i(A, 4, 4);
            var I = i(r, 0, 4);
            var H = i(r, 4, 4);
            var E = i(r, 8, 4);
            var D = i(r, 12, 4);
            var C = 0;
            var J = 2654435769 >>> 0;
            while (B-- > 0) {
                C += J;
                C = (C & 4294967295) >>> 0;
                G += ((F << 4) + I) ^ (F + C) ^ ((F >>> 5) + H);
                G = (G & 4294967295) >>> 0;
                F += ((G << 4) + E) ^ (G + C) ^ ((G >>> 5) + D);
                F = (F & 4294967295) >>> 0;
            }
            var K = new Array(8);
            b(K, 0, G);
            b(K, 4, F);
            return K;
        }
        function k(A) {
            var B = 16;
            var G = i(A, 0, 4);
            var F = i(A, 4, 4);
            var I = i(r, 0, 4);
            var H = i(r, 4, 4);
            var E = i(r, 8, 4);
            var D = i(r, 12, 4);
            var C = 3816266640 >>> 0;
            var J = 2654435769 >>> 0;
            while (B-- > 0) {
                F -= ((G << 4) + E) ^ (G + C) ^ ((G >>> 5) + D);
                F = (F & 4294967295) >>> 0;
                G -= ((F << 4) + I) ^ (F + C) ^ ((F >>> 5) + H);
                G = (G & 4294967295) >>> 0;
                C -= J;
                C = (C & 4294967295) >>> 0;
            }
            var K = new Array(8);
            b(K, 0, G);
            b(K, 4, F);
            return K;
        }
        function f() {
            var y = s.length;
            for (var z = 0; z < 8; z++) {
                w[z] ^= s[x + z];
            }
            w = k(w);
            x += 8;
            a = 0;
            return true;
        }
        function n(C, B) {
            var A = [];
            if (B) {
                for (var z = 0; z < C.length; z++) {
                    A[z] = C.charCodeAt(z) & 255;
                }
            } else {
                var y = 0;
                for (var z = 0; z < C.length; z += 2) {
                    A[y++] = parseInt(C.substr(z, 2), 16);
                }
            }
            return A;
        }
        TEA = { encrypt: function (B, A) {
                var z = n(B, A);
                var y = h(z);
                return v(y);
            }, enAsBase64: function (D, C) {
                var B = n(D, C);
                var A = h(B);
                var y = "";
                for (var z = 0; z < A.length; z++) {
                    y += String.fromCharCode(A[z]);
                }
                return d.encode(y);
            }, decrypt: function (A) {
                var z = n(A, false);
                var y = p(z);
                return v(y);
            }, initkey: function (y, z) {
                r = n(y, z);
            }, bytesToStr: u, strToBytes: c, bytesInStr: v, dataFromStr: n };
        var d = {};
        d.PADCHAR = "=";
        d.ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        d.getbyte = function (A, z) {
            var y = A.charCodeAt(z);
            if (y > 255) {
                throw "INVALID_CHARACTER_ERR: DOM Exception 5";
            }
            return y;
        };
        d.encode = function (C) {
            if (arguments.length != 1) {
                throw "SyntaxError: Not enough arguments";
            }
            var z = d.PADCHAR;
            var E = d.ALPHA;
            var D = d.getbyte;
            var B, F;
            var y = [];
            C = "" + C;
            var A = C.length - C.length % 3;
            if (C.length == 0) {
                return C;
            }
            for (B = 0; B < A; B += 3) {
                F = (D(C, B) << 16) | (D(C, B + 1) << 8) | D(C, B + 2);
                y.push(E.charAt(F >> 18));
                y.push(E.charAt((F >> 12) & 63));
                y.push(E.charAt((F >> 6) & 63));
                y.push(E.charAt(F & 63));
            }
            switch (C.length - A) {
                case 1:
                    F = D(C, B) << 16;
                    y.push(E.charAt(F >> 18) + E.charAt((F >> 12) & 63) + z + z);
                    break;
                case 2:
                    F = (D(C, B) << 16) | (D(C, B + 1) << 8);
                    y.push(E.charAt(F >> 18) + E.charAt((F >> 12) & 63) + E.charAt((F >> 6) & 63) + z);
                    break;
            }
            return y.join("");
        };
        if (!window.btoa) {
            window.btoa = d.encode;
        }
    })(window);
    Encryption = function () {
        var hexcase = 1;
        var b64pad = "";
        var chrsz = 8;
        var mode = 32;
        function md5(s) {
            return hex_md5(s);
        }
        function hex_md5(s) {
            return binl2hex(core_md5(str2binl(s), s.length * chrsz));
        }
        function str_md5(s) {
            return binl2str(core_md5(str2binl(s), s.length * chrsz));
        }
        function hex_hmac_md5(key, data) {
            return binl2hex(core_hmac_md5(key, data));
        }
        function b64_hmac_md5(key, data) {
            return binl2b64(core_hmac_md5(key, data));
        }
        function str_hmac_md5(key, data) {
            return binl2str(core_hmac_md5(key, data));
        }
        function core_md5(x, len) {
            x[len >> 5] |= 128 << ((len) % 32);
            x[(((len + 64) >>> 9) << 4) + 14] = len;
            var a = 1732584193;
            var b = -271733879;
            var c = -1732584194;
            var d = 271733878;
            for (var i = 0; i < x.length; i += 16) {
                var olda = a;
                var oldb = b;
                var oldc = c;
                var oldd = d;
                a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
                d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
                c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
                b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
                a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
                d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
                c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
                b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
                a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
                d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
                c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
                b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
                a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
                d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
                c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
                b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
                a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
                d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
                c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
                b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
                a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
                d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
                c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
                b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
                a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
                d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
                c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
                b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
                a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
                d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
                c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
                b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
                a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
                d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
                c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
                b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
                a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
                d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
                c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
                b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
                a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
                d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
                c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
                b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
                a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
                d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
                c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
                b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
                a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
                d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
                c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
                b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
                a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
                d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
                c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
                b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
                a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
                d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
                c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
                b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
                a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
                d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
                c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
                b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
                a = safe_add(a, olda);
                b = safe_add(b, oldb);
                c = safe_add(c, oldc);
                d = safe_add(d, oldd);
            }
            if (mode == 16) {
                return Array(b, c);
            } else {
                return Array(a, b, c, d);
            }
        }
        function md5_cmn(q, a, b, x, s, t) {
            return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
        }
        function md5_ff(a, b, c, d, x, s, t) {
            return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
        }
        function md5_gg(a, b, c, d, x, s, t) {
            return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
        }
        function md5_hh(a, b, c, d, x, s, t) {
            return md5_cmn(b ^ c ^ d, a, b, x, s, t);
        }
        function md5_ii(a, b, c, d, x, s, t) {
            return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
        }
        function core_hmac_md5(key, data) {
            var bkey = str2binl(key);
            if (bkey.length > 16) {
                bkey = core_md5(bkey, key.length * chrsz);
            }
            var ipad = Array(16), opad = Array(16);
            for (var i = 0; i < 16; i++) {
                ipad[i] = bkey[i] ^ 909522486;
                opad[i] = bkey[i] ^ 1549556828;
            }
            var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
            return core_md5(opad.concat(hash), 512 + 128);
        }
        function safe_add(x, y) {
            var lsw = (x & 65535) + (y & 65535);
            var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
            return (msw << 16) | (lsw & 65535);
        }
        function bit_rol(num, cnt) {
            return (num << cnt) | (num >>> (32 - cnt));
        }
        function str2binl(str) {
            var bin = Array();
            var mask = (1 << chrsz) - 1;
            for (var i = 0; i < str.length * chrsz; i += chrsz) {
                bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32);
            }
            return bin;
        }
        function binl2str(bin) {
            var str = "";
            var mask = (1 << chrsz) - 1;
            for (var i = 0; i < bin.length * 32; i += chrsz) {
                str += String.fromCharCode((bin[i >> 5] >>> (i % 32)) & mask);
            }
            return str;
        }
        function binl2hex(binarray) {
            var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
            var str = "";
            for (var i = 0; i < binarray.length * 4; i++) {
                str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 15) + hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 15);
            }
            return str;
        }
        function binl2b64(binarray) {
            var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
            var str = "";
            for (var i = 0; i < binarray.length * 4; i += 3) {
                var triplet = (((binarray[i >> 2] >> 8 * (i % 4)) & 255) << 16) | (((binarray[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 255) << 8) | ((binarray[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 255);
                for (var j = 0; j < 4; j++) {
                    if (i * 8 + j * 6 > binarray.length * 32) {
                        str += b64pad;
                    } else {
                        str += tab.charAt((triplet >> 6 * (3 - j)) & 63);
                    }
                }
            }
            return str;
        }
        function hexchar2bin(str) {
            var arr = [];
            for (var i = 0; i < str.length; i = i + 2) {
                arr.push("\\x" + str.substr(i, 2));
            }
            arr = arr.join("");
            eval("var temp = '" + arr + "'");
            return temp;
        }
        function __monitor(mid, probability) {
            if (Math.random() > (probability || 1)) {
                return;
            }
            /*var url = location.protocol + "//ui.ptlogin2.qq.com/cgi-bin/report?id=" + mid;
            var s = document.createElement("img");
            s.src = url;
            s = null;*/
        }
        function getEncryption(password, salt, vcode, isMd5) {
            vcode = vcode || "";
            password = password || "";
            var md5Pwd = isMd5 ? password : md5(password), h1 = hexchar2bin(md5Pwd), s2 = md5(h1 + salt), rsaH1 = RSA.rsa_encrypt(h1), rsaH1Len = (rsaH1.length / 2).toString(16), hexVcode = TEA.strToBytes(vcode.toUpperCase()), vcodeLen = "000" + vcode.length.toString(16);
            while (rsaH1Len.length < 4) {
                rsaH1Len = "0" + rsaH1Len;
            }
            TEA.initkey(s2);
            var saltPwd = TEA.enAsBase64(rsaH1Len + rsaH1 + TEA.strToBytes(salt) + vcodeLen + hexVcode);
            TEA.initkey("");
            __monitor(488358, 1);
            return saltPwd.replace(/[\/\+=]/g, function (a) {
                return { "/": "-", "+": "*", "=": "_" }[a];
            });
        }
        function getRSAEncryption(password, vcode, isMd5) {
            var str1 = isMd5 ? password : md5(password);
            var str2 = str1 + vcode.toUpperCase();
            var str3 = $.RSA.rsa_encrypt(str2);
            return str3;
        }
        return { getEncryption: getEncryption, getRSAEncryption: getRSAEncryption, md5: md5 };
    }();
    function uin2hex(str) {
        var maxLength = 16;
        var hex = parseInt(str).toString(16);
        var len = hex.length;
        for (var i = len; i < maxLength; i++) {
            hex = "0" + hex;
        }
        var arr = [];
        for (var j = 0; j < maxLength; j += 2) {
            arr.push("\\x" + hex.substr(j, 2));
        }
        var result = arr.join("");
        eval('result="' + result + '"');
        return result;
    }

    // 加密函数名称:getpass  参数1:QQ号码 参数2:QQ密码 参数3:验证码  

    function getpass(qq,pass,code){
    qq=uin2hex(qq)
    return Encryption.getEncryption(pass,qq,code);
    }




最后一句代码登录QQ

  1. .版本 2
    .支持库 spec
    .支持库 iconv

    .子程序 _按钮1_被单击
    .局部变量 脚本, 类_脚本组件
    .局部变量 Password, 文本型

    脚本.执行 (到文本 (#JS代码))
    Password = 脚本.运行 (“getpass”, 编辑框1.内容, 编辑框2.内容, 编辑框3.内容)
    调试输出 (到文本 (编码转换 (网页_访问 (“http://ptlogin2.qq.com/login?u=” + 编辑框1.内容 + “&verifycode=” + Ver_Code + “&pt_vcode_v1=0&pt_verifysession_v1=” + pt_verifysession_v1 + “&p=” + Password + “&pt_randsalt=0&ptredirect=1&u1=http%3A%2F%2Flixian.qq.com%2Fmain.html&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-65-1435338842906&js_ver=10127&js_type=1&login_sig=” + cookies__sig + “&pt_uistyle=20&aid=715030901&daid=73&daid=5&pt_qzone_sig=1&”, , , , 返回Skey, , , , , ), #编码_UTF_8, #编码_GB18030, )))

    Skey_ = 文本_取出中间文本 (返回Skey, “skey=”, “; ”)
    Skey = 计算G_tk (文本_取出中间文本 (返回Skey, “skey=”, “; ”))
    线程_启动 (&Get_All_Task, , )  ' //获取全部任务 Get All task

在上面看到了一个 Get_all_task这个类(也可以说是子程序随便叫只要自己理解就行)

这面是提交一个POST参数给腾讯的QQ旋风的服务器

Path是http://lixian.qq.com/handler/lixian/get_lixian_items.php
data是page=0&limit=200    //Page 是"页"的意思 即这是第一页 0=1 1=2以此类推
提交了 就会返回一个JSon样式的文本可以自己格式化下看看,很清晰。

然后插入超级列表框进行相应的操作。。。


此处省略N字。

最后获取到地址即Code。一行字符串 在“/ftn_handler/”之后的一行字符串。但是腾讯sun dog 返回的不是很好的。我们需要把这个code截取下来。换到其它的接口上。
我提供几个接口(我所晓得)。

http://xfxa.ctfs.ftn.qq.com/ftn_handler/
http://xfcd.ctfs.ftn.qq.com/ftn_handler/
http://sh.ctfs.ftn.qq.com/ftn_handler/
http://sz.ctfs.ftn.qq.com/ftn_handler/
http://tj.ctfs.ftn.qq.com/ftn_handler/

当然肯定还有其它的哈 欢迎提供。。。

然后使用Cookie这个访问这个被修改后的code地址即可播放下载。

sunkejava 2015-07-27 20:34
都对不上啊啊!!!!!!

ygrzdwl 2015-08-18 11:04
这个方法是不是获取登录QQ好离线空间里的内容,那QQ必须是会员了?

wanglong126 2015-08-21 16:06
大神又在迅雷的论坛讲解了,哈哈

m2510 2015-08-30 18:09
好复杂。。可以共享个实例给大家看看么

asd99987 2015-10-02 17:34
是个好方法,不过正如你所说软件登录不安全还麻烦

maiju 2015-10-08 21:36
感谢分享

xiangyabing 2015-11-15 23:59
感谢分享

chenyw101 2015-12-02 02:45
不知道PHP怎么写,学习了

917696540 2015-12-04 23:15
能磁力播放或者种子播放吗? 高手

917696540 2015-12-04 23:24
高手

hjfox 2015-12-05 07:53
代码好像有点错误

xbik 2015-12-06 15:14
最终解析磁力方法。

xingningr 2015-12-08 01:57
给个源码吧

chenyw101 2015-12-16 22:35
      感觉一头雾水

迷你狂风 2015-12-17 12:03
        

skipper 2015-12-19 00:00
感谢分享~学习了~  

917696540 2015-12-20 17:03
可惜不会,楼主能写个例子吗

辛巴 2015-12-30 20:58
只能说楼主是高手,这篇帖子看了很多 遍了,还是没怎么搞定,慢慢研究

qq373745676 2015-12-31 00:24
辛巴:只能说楼主是高手,这篇帖子看了很多 遍了,还是没怎么搞定,慢慢研究 (2015-12-30 20:58) 

很简单呀,花钱买例子

辛巴 2015-12-31 17:20
大神,求教,最后一步,  Get_All_Task  这个子程序该怎么写啊?,我写出来的东西没用.

xushen 2016-01-01 20:29
辛巴:
大神,求教,最后一步,  Get_All_Task  这个子程序该怎么写啊?,我写出来的东西没用.

.版本 2
.支持库 iext

.子程序 Get_All_Task
.局部变量 Post_data, 文本型
.局部变量 Post_path, 文本型
.局部变量 return_data, 文本型
.局部变量 Json_Open, 类_json
.局部变量 Meter, 整数型
.局部变量 List, 整数型

Post_path = “http://lixian.qq.com/handler/lixian/get_lixian_items.php”
Post_data = “page=0&limit=200”  ' //Page 是"页"的意思 即这是第一页 0=1 1=2以此类推
return_data = 到文本 (网页_访问 (Post_path, 1, Post_data))
Json_Open.解析 (return_data)
.计次循环首 (Json_Open.成员数 (“data”), Meter)
    List = 超级列表框1.插入表项 (, , , , , )
    超级列表框1.置标题 (List, 0, 到文本 (List + 1))
    超级列表框1.置标题 (List, 1, Json_Open.取通用属性 (“data[” + 到文本 (Meter - 1) + “].file_name”))
    超级列表框1.置标题 (List, 2, Json_Open.取通用属性 (“data[” + 到文本 (Meter - 1) + “].hash”))
    超级列表框1.置标题 (List, 3, Json_Open.取通用属性 (“data[” + 到文本 (Meter - 1) + “].mid”))
.计次循环尾 ()


[attachment=619]






yuki_dou 2016-01-16 10:55
哇塞我看晕了,GOOD

wki 2016-01-26 16:54
没看到提交hash值呀,自己空间肯定是空的

shenxk 2016-01-27 22:30
可以播放种子么

chenyw101 2016-01-30 01:09
到现在也没看明白

chenyw101 2016-01-31 21:50
解析服务器被封了,所有的都不行了

pingdan1121 2016-02-20 22:25
好复杂。。budong

jk102412 2016-03-02 00:47
谢谢分享,不过看起来有点复杂

cszzlsw 2016-03-03 15:58
好好好,虽然是易语言版的,好在大致能看懂

retn 2016-03-23 01:27
登录不安全还麻烦

309702193 2016-03-25 20:18
最终解析磁力方法

309702193 2016-03-25 20:25
最终解析磁力方法

q522849100 2016-05-01 21:08
hash都没提交,获取自己离线空间的文件有毛用。

8868 2016-12-28 23:05
能磁力播放或者种子播放吗

fzmcwj05 2017-05-04 19:36
:最终解析磁力方法

xunlei_nihao 2017-05-05 00:10
技术含量高啊,要学习!

dawushi 2017-05-16 21:34
现在还能用吗  

dawushi 2017-05-17 00:29
怎么新建下载啊

player 2017-06-18 00:06
感谢分享

pengke 2017-06-23 18:17
这个得要资源吧,自己上传

pengke 2017-06-28 22:50
代码太多了,大神,能不能将简单点步骤

pengke 2017-07-06 15:48
q522849100:hash都没提交,获取自己离线空间的文件有毛用。 (2016-05-01 21:08) 

有啥好的方法吗?

pengke 2017-07-11 08:35
好方法

pengke 2017-07-12 21:22
没有最新消息么?

pengke 2017-07-15 10:49

pengke 2017-07-16 22:51

pengke 2017-07-18 23:16

pengke 2017-07-19 10:57

aideshini520 2017-07-20 10:52
学习下支持


查看完整版本: [-- 最终解析磁力方法。 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.021294 second(s),query:0 Gzip enabled