YouDao翻譯JS破解

最近一直在學(xué)習(xí)JS破解谬哀,在爬蟲專題中偶然翻到一篇文章講JS破解,于是比葫蘆畫瓢严肪,模仿著練習(xí)一下史煎,但是發(fā)現(xiàn)youdao的加密參數(shù)多了一個,于是就舉一反三有了一下的破解思路驳糯。

1. 網(wǎng)址

網(wǎng)址如下:http://fanyi.youdao.com/

2. 過程講解

2.1 抓包

image.png

image.png

有上圖標(biāo)記的四個參數(shù)都是可變的篇梭,于是開始了js破解。


image.png

由上圖的search輸入salt回車酝枢。
image.png

點(diǎn)開圈紅的框恬偷,


image.png

之后進(jìn)行斷點(diǎn)調(diào)試。
image.png

得到salt為13為時間戳加一個隨機(jī)的(1隧枫, 10)組成喉磁。
sign為(fanyideskweb+look+salt+@6f#X3=cCuncYssPsuRUE)
sign = fanyideskweblook15559910913408@6f#X3=cCuncYssPsuRUE
md5加密一下即可。

最后一個時bv官脓。其實bv參數(shù)在調(diào)試完發(fā)現(xiàn),同一個瀏覽器涝焙,bv是不會發(fā)生變化的卑笨,當(dāng)瀏覽器(也就是爬蟲請求是的UA)變化時,bv才會發(fā)生改變仑撞。所以以上的三個參數(shù)赤兴,足以解決問題。
此處貼上bv獲取的js代碼

 function Q(e) {
     var t, n, i, o, a, s, m, g, v, y = Array();
     for (e = h(e),
         y = d(e),
         s = 1732584193,
         m = 4023233417,
         g = 2562383102,
         v = 271733878,
         t = 0; t < y.length; t += 16)
    n = s,
        i = m,
        o = g,
        a = v,
        s = l(s, m, g, v, y[t + 0], 7, 3614090360),
        v = l(v, s, m, g, y[t + 1], 12, 3905402710),
        g = l(g, v, s, m, y[t + 2], 17, 606105819),
        m = l(m, g, v, s, y[t + 3], 22, 3250441966),
        s = l(s, m, g, v, y[t + 4], 7, 4118548399),
        v = l(v, s, m, g, y[t + 5], 12, 1200080426),
        g = l(g, v, s, m, y[t + 6], 17, 2821735955),
        m = l(m, g, v, s, y[t + 7], 22, 4249261313),
        s = l(s, m, g, v, y[t + 8], 7, 1770035416),
        v = l(v, s, m, g, y[t + 9], 12, 2336552879),
        g = l(g, v, s, m, y[t + 10], 17, 4294925233),
        m = l(m, g, v, s, y[t + 11], 22, 2304563134),
        s = l(s, m, g, v, y[t + 12], 7, 1804603682),
        v = l(v, s, m, g, y[t + 13], 12, 4254626195),
        g = l(g, v, s, m, y[t + 14], 17, 2792965006),
        m = l(m, g, v, s, y[t + 15], 22, 1236535329),
        s = c(s, m, g, v, y[t + 1], 5, 4129170786),
        v = c(v, s, m, g, y[t + 6], 9, 3225465664),
        g = c(g, v, s, m, y[t + 11], 14, 643717713),
        m = c(m, g, v, s, y[t + 0], 20, 3921069994),
        s = c(s, m, g, v, y[t + 5], 5, 3593408605),
        v = c(v, s, m, g, y[t + 10], 9, 38016083),
        g = c(g, v, s, m, y[t + 15], 14, 3634488961),
        m = c(m, g, v, s, y[t + 4], 20, 3889429448),
        s = c(s, m, g, v, y[t + 9], 5, 568446438),
        v = c(v, s, m, g, y[t + 14], 9, 3275163606),
        g = c(g, v, s, m, y[t + 3], 14, 4107603335),
        m = c(m, g, v, s, y[t + 8], 20, 1163531501),
        s = c(s, m, g, v, y[t + 13], 5, 2850285829),
        v = c(v, s, m, g, y[t + 2], 9, 4243563512),
        g = c(g, v, s, m, y[t + 7], 14, 1735328473),
        m = c(m, g, v, s, y[t + 12], 20, 2368359562),
        s = u(s, m, g, v, y[t + 5], 4, 4294588738),
        v = u(v, s, m, g, y[t + 8], 11, 2272392833),
        g = u(g, v, s, m, y[t + 11], 16, 1839030562),
        m = u(m, g, v, s, y[t + 14], 23, 4259657740),
        s = u(s, m, g, v, y[t + 1], 4, 2763975236),
        v = u(v, s, m, g, y[t + 4], 11, 1272893353),
        g = u(g, v, s, m, y[t + 7], 16, 4139469664),
        m = u(m, g, v, s, y[t + 10], 23, 3200236656),
        s = u(s, m, g, v, y[t + 13], 4, 681279174),
        v = u(v, s, m, g, y[t + 0], 11, 3936430074),
        g = u(g, v, s, m, y[t + 3], 16, 3572445317),
        m = u(m, g, v, s, y[t + 6], 23, 76029189),
        s = u(s, m, g, v, y[t + 9], 4, 3654602809),
        v = u(v, s, m, g, y[t + 12], 11, 3873151461),
        g = u(g, v, s, m, y[t + 15], 16, 530742520),
        m = u(m, g, v, s, y[t + 2], 23, 3299628645),
        s = f(s, m, g, v, y[t + 0], 6, 4096336452),
        v = f(v, s, m, g, y[t + 7], 10, 1126891415),
        g = f(g, v, s, m, y[t + 14], 15, 2878612391),
        m = f(m, g, v, s, y[t + 5], 21, 4237533241),
        s = f(s, m, g, v, y[t + 12], 6, 1700485571),
        v = f(v, s, m, g, y[t + 3], 10, 2399980690),
        g = f(g, v, s, m, y[t + 10], 15, 4293915773),
        m = f(m, g, v, s, y[t + 1], 21, 2240044497),
        s = f(s, m, g, v, y[t + 8], 6, 1873313359),
        v = f(v, s, m, g, y[t + 15], 10, 4264355552),
        g = f(g, v, s, m, y[t + 6], 15, 2734768916),
        m = f(m, g, v, s, y[t + 13], 21, 1309151649),
        s = f(s, m, g, v, y[t + 4], 6, 4149444226),
        v = f(v, s, m, g, y[t + 11], 10, 3174756917),
        g = f(g, v, s, m, y[t + 2], 15, 718787259),
        m = f(m, g, v, s, y[t + 9], 21, 3951481745),
        s = r(s, n),
        m = r(m, i),
        g = r(g, o),
        v = r(v, a);
     return (p(s) + p(m) + p(g) + p(v)).toLowerCase()
 }
 function h(e) {
     e = e.replace(/\x0d\x0a/g, "\n");
     for (var t = "", n = 0; n < e.length; n++) {
         var r = e.charCodeAt(n);
         if (r < 128)
             t += String.fromCharCode(r);
         else if (r > 127 && r < 2048)
             t += String.fromCharCode(r >> 6 | 192),
                 t += String.fromCharCode(63 & r | 128);
    else if (r >= 55296 && r <= 56319) {
        if (n + 1 < e.length) {
            var i = e.charCodeAt(n + 1);
            if (i >= 56320 && i <= 57343) {
                var o = 1024 * (r - 55296) + (i - 56320) + 65536;
                t += String.fromCharCode(240 | o >> 18 & 7),
                    t += String.fromCharCode(128 | o >> 12 & 63),
                    t += String.fromCharCode(128 | o >> 6 & 63),
                    t += String.fromCharCode(128 | 63 & o),
                    n++
            }
        }
    } else
        t += String.fromCharCode(r >> 12 | 224),
            t += String.fromCharCode(r >> 6 & 63 | 128),
            t += String.fromCharCode(63 & r | 128)
}
return t
 };
 d = function(e) {
for (var t, n = e.length, r = n + 8, i = 16 * ((r - r % 64) / 64 + 1), o = Array(i - 1), a = 0, s = 0; s < n; )
    a = s % 4 * 8,
        o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
        s++;
return t = (s - s % 4) / 4,
    a = s % 4 * 8,
    o[t] = o[t] | 128 << a,
    o[i - 2] = n << 3,
    o[i - 1] = n >>> 29,
    o
 };
 l = function(e, t, o, a, s, l, c) {
     return e = r(e, r(r(i(t, o, a), s), c)),
         r(n(e, l), t)
 };
 r = function(e, t) {
var n, r, i, o, a;
return i = 2147483648 & e,
    o = 2147483648 & t,
    n = 1073741824 & e,
    r = 1073741824 & t,
    a = (1073741823 & e) + (1073741823 & t),
    n & r ? 2147483648 ^ a ^ i ^ o : n | r ? 1073741824 & a ? 3221225472 ^ a ^ i ^ o : 1073741824 ^ a ^ i ^ o : a ^ i ^ o
 }
, i = function(e, t, n) {
return e & t | ~e & n
 }
 r = function(e, t) {
var n, r, i, o, a;
return i = 2147483648 & e,
    o = 2147483648 & t,
    n = 1073741824 & e,
    r = 1073741824 & t,
    a = (1073741823 & e) + (1073741823 & t),
    n & r ? 2147483648 ^ a ^ i ^ o : n | r ? 1073741824 & a ? 3221225472 ^ a ^ i ^ o : 1073741824 ^ a ^ i ^ o : a ^ i ^ o
 }
 n = function(e, t) {
return e << t | e >>> 32 - t
 }
 c = function(e, t, i, a, s, l, c) {
return e = r(e, r(r(o(t, i, a), s), c)),
    r(n(e, l), t)
 }
 u = function(e, t, i, o, s, l, c) {
  return e = r(e, r(r(a(t, i, o), s), c)),
    r(n(e, l), t)
 }
, f = function(e, t, i, o, a, l, c) {
return e = r(e, r(r(s(t, i, o), a), c)),
    r(n(e, l), t)
 }
, d = function(e) {
for (var t, n = e.length, r = n + 8, i = 16 * ((r - r % 64) / 64 + 1), o = Array(i - 1), a = 0, s = 0; s < n; )
    a = s % 4 * 8,
        o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
        s++;
return t = (s - s % 4) / 4,
    a = s % 4 * 8,
    o[t] = o[t] | 128 << a,
    o[i - 2] = n << 3,
    o[i - 1] = n >>> 29,
    o
 }
 n = function(e, t) {
    return e << t | e >>> 32 - t
     }
    , r = function(e, t) {
    var n, r, i, o, a;
    return i = 2147483648 & e,
        o = 2147483648 & t,
        n = 1073741824 & e,
        r = 1073741824 & t,
        a = (1073741823 & e) + (1073741823 & t),
        n & r ? 2147483648 ^ a ^ i ^ o : n | r ? 1073741824 & a ? 3221225472 ^ a ^ i ^ o : 1073741824 ^ a ^ i ^ o : a ^ i ^ o
}
    , i = function(e, t, n) {
    return e & t | ~e & n
}
    , o = function(e, t, n) {
    return e & n | t & ~n
}
    , a = function(e, t, n) {
    return e ^ t ^ n
}
    , s = function(e, t, n) {
    return t ^ (e | ~n)
}
    , l = function(e, t, o, a, s, l, c) {
    return e = r(e, r(r(i(t, o, a), s), c)),
        r(n(e, l), t)
}
    , c = function(e, t, i, a, s, l, c) {
    return e = r(e, r(r(o(t, i, a), s), c)),
        r(n(e, l), t)
}
    , u = function(e, t, i, o, s, l, c) {
    return e = r(e, r(r(a(t, i, o), s), c)),
        r(n(e, l), t)
}
    , f = function(e, t, i, o, a, l, c) {
    return e = r(e, r(r(s(t, i, o), a), c)),
        r(n(e, l), t)
}
    , d = function(e) {
    for (var t, n = e.length, r = n + 8, i = 16 * ((r - r % 64) / 64 + 1), o = Array(i - 1), a = 0, s = 0; s < n; )
        a = s % 4 * 8,
            o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
            s++;
    return t = (s - s % 4) / 4,
        a = s % 4 * 8,
        o[t] = o[t] | 128 << a,
        o[i - 2] = n << 3,
        o[i - 1] = n >>> 29,
        o
}
    , p = function(e) {
    var t, n = "", r = "";
    for (t = 0; t <= 3; t++)
        n += (r = "0" + (e >>> 8 * t & 255).toString(16)).substr(r.length - 2, 2);
    return n
}
    , h = function(e) {
    e = e.replace(/\x0d\x0a/g, "\n");
    for (var t = "", n = 0; n < e.length; n++) {
        var r = e.charCodeAt(n);
        if (r < 128)
            t += String.fromCharCode(r);
        else if (r > 127 && r < 2048)
            t += String.fromCharCode(r >> 6 | 192),
                t += String.fromCharCode(63 & r | 128);
        else if (r >= 55296 && r <= 56319) {
            if (n + 1 < e.length) {
                var i = e.charCodeAt(n + 1);
                if (i >= 56320 && i <= 57343) {
                    var o = 1024 * (r - 55296) + (i - 56320) + 65536;
                    t += String.fromCharCode(240 | o >> 18 & 7),
                        t += String.fromCharCode(128 | o >> 12 & 63),
                        t += String.fromCharCode(128 | o >> 6 & 63),
                        t += String.fromCharCode(128 | 63 & o),
                        n++
                }
            }
        } else
            t += String.fromCharCode(r >> 12 | 224),
                t += String.fromCharCode(r >> 6 & 63 | 128),
                t += String.fromCharCode(63 & r | 128)
    }
    return t
};
 // e為不同瀏覽器的UA
 // e = "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
 e = "5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
 t = Q(e)
 console.log(t)
 #此處打印的就是bv隧哮。

文章內(nèi)容有點(diǎn)亂桶良,js破解需耐心,忘加油沮翔!
代碼不可亂用陨帆,謝謝。
本文參考:http://www.reibang.com/p/ff3cd93f79b0謝謝分享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疲牵,一起剝皮案震驚了整個濱河市承二,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纲爸,老刑警劉巖亥鸠,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異识啦,居然都是意外死亡负蚊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門颓哮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來家妆,“玉大人,你說我怎么就攤上這事题翻】玻” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵嵌赠,是天一觀的道長塑荒。 經(jīng)常有香客問我,道長姜挺,這世上最難降的妖魔是什么齿税? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮炊豪,結(jié)果婚禮上凌箕,老公的妹妹穿的比我還像新娘。我一直安慰自己词渤,他們只是感情好牵舱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缺虐,像睡著了一般芜壁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上高氮,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天慧妄,我揣著相機(jī)與錄音,去河邊找鬼剪芍。 笑死塞淹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的罪裹。 我是一名探鬼主播饱普,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼运挫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了费彼?” 一聲冷哼從身側(cè)響起滑臊,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎箍铲,沒想到半個月后雇卷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颠猴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年关划,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翘瓮。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡贮折,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出资盅,到底是詐尸還是另有隱情调榄,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布呵扛,位于F島的核電站每庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏今穿。R本人自食惡果不足惜缤灵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓝晒。 院中可真熱鬧腮出,春花似錦、人聲如沸芝薇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洛二。三九已至慢逾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灭红,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工口注, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留变擒,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓寝志,卻偏偏與公主長得像娇斑,于是被迫代替她去往敵國和親策添。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容