11回答

0收藏

哪位大仙解惑?

回答|共 11 个

straybug

发表于 2021-9-16 20:53:37 | 显示全部楼层

if (!window.navigator.webdriver) {
    (function() {
        var k = 'f5k1/Rs0fhnx+Sj4GiFnaw=='
          , n = 0
          , t = 0
          , y = true;
        setInterval(te, 1000);
        function te() {
            t++;
        }
        if (typeof CryptoJS != 'undefined') {
            $('.down-list p .torrent').each(function() {
                var s = $(this).attr('href').substr(1);
                $(this).on('click contextmenu', function(e) {
                    n++;
                    if ((n < 0 || n > 15 || (n > 5 && t / (n - 5) < 3)) && y == true) {
                        // 此分支为频繁校验,无需理会
                        y = false;
                        oooll();
                        return false;
                    } else if (y == true) {
                        // 此分支为加密部分
                        var p = 'magnet:?xt=urn:btih:'
                          , fk = decrypt(s, k)
                          , d = 'javascript:;';
                        fk = fk.split('|');
                        fk = p + fk[4] + fk[3] + fk[0] + fk[1] + fk[2];
                        if (1 == e.which) {
                            window.location.href = fk;
                            $(this).attr('href', d);
                        } else if (3 == e.which && e.originalEvent) {
                            $(this).attr('href', d);
                            navigator.clipboard.writeText(fk);
                            layer.tips('已复制', e.target, {
                                tips: [2, 'rgba(0,0,0,.6)']
                            });
                        }
                        e.preventDefault();
                        return false;
                    }
                });
            });
            ci_num();
        }
    }
    )();
}
// 加密函数
function decrypt(str, key) {
    var key = CryptoJS.MD5(key).toString();
    var crypto_key = CryptoJS.enc.Utf8.parse(key);
    var decrypt_str = CryptoJS.TripleDES.decrypt(str, crypto_key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
    return decrypt_str.toString(CryptoJS.enc.Utf8);
}
function oooll() {
    layer.alert('请求太频繁,需要重新验证!');
    setCookie('d_c', Math.random().toString(36).substr(2)); load_downurl(dir, id);
}
这个代码排版太难用了。

这个是网站的源码,看下加密逻辑就知道是怎么回事了
回复

使用道具 举报

zuiaijiushi

发表于 2021-9-29 09:06:19 | 显示全部楼层

事多,没空研究这些了,还是多谢指点
回复

使用道具 举报