diff --git a/src/api/aliExpress.js b/src/api/aliExpress.js index 2383a70..58446d5 100644 --- a/src/api/aliExpress.js +++ b/src/api/aliExpress.js @@ -1,157 +1,160 @@ /** * * @param token 从cookie中获取,判断从[_m_h5_c,_m_h5_tk]中取值,优先判断第一个 - * @param appKey 取值 24815441或者12574478 - * @param t 时间戳 + * @param appKey 取值window.mtopConfig * @param formData formData中的data * @returns {*} */ -export const getSign = (token, appKey = "12574478", t, formData) => { - return function (e) { - function t(e, t) { - return e << t | e >>> 32 - t - } - - function n(e, t) { - var n, i, r, o, a; - return r = 2147483648 & e, - o = 2147483648 & t, - a = (1073741823 & e) + (1073741823 & t), - (n = 1073741824 & e) & (i = 1073741824 & t) ? 2147483648 ^ a ^ r ^ o : n | i ? 1073741824 & a ? 3221225472 ^ a ^ r ^ o : 1073741824 ^ a ^ r ^ o : a ^ r ^ o - } - - function i(e, i, r, o, a, s, l) { - return e = n(e, n(n(function (e, t, n) { - return e & t | ~e & n - }(i, r, o), a), l)), - n(t(e, s), i) - } - - function r(e, i, r, o, a, s, l) { - return e = n(e, n(n(function (e, t, n) { - return e & n | t & ~n - }(i, r, o), a), l)), - n(t(e, s), i) - } - - function o(e, i, r, o, a, s, l) { - return e = n(e, n(n(function (e, t, n) { - return e ^ t ^ n - }(i, r, o), a), l)), - n(t(e, s), i) - } - - function a(e, i, r, o, a, s, l) { - return e = n(e, n(n(function (e, t, n) { - return t ^ (e | ~n) - }(i, r, o), a), l)), - n(t(e, s), i) - } - - function s(e) { - var t, n = "", i = ""; - for (t = 0; 3 >= t; t++) - n += (i = "0" + (e >>> 8 * t & 255).toString(16)).substr(i.length - 2, 2); - return n - } - - var l, u, c, d, p, f, h, g, m, v; - for (v = function (e) { - for (var t, n = e.length, i = n + 8, r = 16 * ((i - i % 64) / 64 + 1), o = new Array(r - 1), a = 0, s = 0; n > s;) - a = s % 4 * 8, - o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a, - s++; - return a = s % 4 * 8, - o[t = (s - s % 4) / 4] = o[t] | 128 << a, - o[r - 2] = n << 3, - o[r - 1] = n >>> 29, - o - }(e = function (e) { - e = e.replace(/\r\n/g, "\n"); - for (var t = "", n = 0; n < e.length; n++) { - var i = e.charCodeAt(n); - 128 > i ? t += String.fromCharCode(i) : i > 127 && 2048 > i ? (t += String.fromCharCode(i >> 6 | 192), - t += String.fromCharCode(63 & i | 128)) : (t += String.fromCharCode(i >> 12 | 224), - t += String.fromCharCode(i >> 6 & 63 | 128), - t += String.fromCharCode(63 & i | 128)) +const getSign = (token, appKey, formData) => { + token = token.split("_")[0] + const t = (new Date()).getTime(); + return { + t, sign: function (e) { + function t(e, t) { + return e << t | e >>> 32 - t } - return t - }(e)), - f = 1732584193, - h = 4023233417, - g = 2562383102, - m = 271733878, - l = 0; l < v.length; l += 16) - u = f, - c = h, - d = g, - p = m, - f = i(f, h, g, m, v[l], 7, 3614090360), - m = i(m, f, h, g, v[l + 1], 12, 3905402710), - g = i(g, m, f, h, v[l + 2], 17, 606105819), - h = i(h, g, m, f, v[l + 3], 22, 3250441966), - f = i(f, h, g, m, v[l + 4], 7, 4118548399), - m = i(m, f, h, g, v[l + 5], 12, 1200080426), - g = i(g, m, f, h, v[l + 6], 17, 2821735955), - h = i(h, g, m, f, v[l + 7], 22, 4249261313), - f = i(f, h, g, m, v[l + 8], 7, 1770035416), - m = i(m, f, h, g, v[l + 9], 12, 2336552879), - g = i(g, m, f, h, v[l + 10], 17, 4294925233), - h = i(h, g, m, f, v[l + 11], 22, 2304563134), - f = i(f, h, g, m, v[l + 12], 7, 1804603682), - m = i(m, f, h, g, v[l + 13], 12, 4254626195), - g = i(g, m, f, h, v[l + 14], 17, 2792965006), - f = r(f, h = i(h, g, m, f, v[l + 15], 22, 1236535329), g, m, v[l + 1], 5, 4129170786), - m = r(m, f, h, g, v[l + 6], 9, 3225465664), - g = r(g, m, f, h, v[l + 11], 14, 643717713), - h = r(h, g, m, f, v[l], 20, 3921069994), - f = r(f, h, g, m, v[l + 5], 5, 3593408605), - m = r(m, f, h, g, v[l + 10], 9, 38016083), - g = r(g, m, f, h, v[l + 15], 14, 3634488961), - h = r(h, g, m, f, v[l + 4], 20, 3889429448), - f = r(f, h, g, m, v[l + 9], 5, 568446438), - m = r(m, f, h, g, v[l + 14], 9, 3275163606), - g = r(g, m, f, h, v[l + 3], 14, 4107603335), - h = r(h, g, m, f, v[l + 8], 20, 1163531501), - f = r(f, h, g, m, v[l + 13], 5, 2850285829), - m = r(m, f, h, g, v[l + 2], 9, 4243563512), - g = r(g, m, f, h, v[l + 7], 14, 1735328473), - f = o(f, h = r(h, g, m, f, v[l + 12], 20, 2368359562), g, m, v[l + 5], 4, 4294588738), - m = o(m, f, h, g, v[l + 8], 11, 2272392833), - g = o(g, m, f, h, v[l + 11], 16, 1839030562), - h = o(h, g, m, f, v[l + 14], 23, 4259657740), - f = o(f, h, g, m, v[l + 1], 4, 2763975236), - m = o(m, f, h, g, v[l + 4], 11, 1272893353), - g = o(g, m, f, h, v[l + 7], 16, 4139469664), - h = o(h, g, m, f, v[l + 10], 23, 3200236656), - f = o(f, h, g, m, v[l + 13], 4, 681279174), - m = o(m, f, h, g, v[l], 11, 3936430074), - g = o(g, m, f, h, v[l + 3], 16, 3572445317), - h = o(h, g, m, f, v[l + 6], 23, 76029189), - f = o(f, h, g, m, v[l + 9], 4, 3654602809), - m = o(m, f, h, g, v[l + 12], 11, 3873151461), - g = o(g, m, f, h, v[l + 15], 16, 530742520), - f = a(f, h = o(h, g, m, f, v[l + 2], 23, 3299628645), g, m, v[l], 6, 4096336452), - m = a(m, f, h, g, v[l + 7], 10, 1126891415), - g = a(g, m, f, h, v[l + 14], 15, 2878612391), - h = a(h, g, m, f, v[l + 5], 21, 4237533241), - f = a(f, h, g, m, v[l + 12], 6, 1700485571), - m = a(m, f, h, g, v[l + 3], 10, 2399980690), - g = a(g, m, f, h, v[l + 10], 15, 4293915773), - h = a(h, g, m, f, v[l + 1], 21, 2240044497), - f = a(f, h, g, m, v[l + 8], 6, 1873313359), - m = a(m, f, h, g, v[l + 15], 10, 4264355552), - g = a(g, m, f, h, v[l + 6], 15, 2734768916), - h = a(h, g, m, f, v[l + 13], 21, 1309151649), - f = a(f, h, g, m, v[l + 4], 6, 4149444226), - m = a(m, f, h, g, v[l + 11], 10, 3174756917), - g = a(g, m, f, h, v[l + 2], 15, 718787259), - h = a(h, g, m, f, v[l + 9], 21, 3951481745), - f = n(f, u), - h = n(h, c), - g = n(g, d), - m = n(m, p); - return (s(f) + s(h) + s(g) + s(m)).toLowerCase() - }(token + "&" + t + "&" + appKey + "&" + formData) + + function n(e, t) { + var n, i, r, o, a; + return r = 2147483648 & e, + o = 2147483648 & t, + a = (1073741823 & e) + (1073741823 & t), + (n = 1073741824 & e) & (i = 1073741824 & t) ? 2147483648 ^ a ^ r ^ o : n | i ? 1073741824 & a ? 3221225472 ^ a ^ r ^ o : 1073741824 ^ a ^ r ^ o : a ^ r ^ o + } + + function i(e, i, r, o, a, s, l) { + return e = n(e, n(n(function (e, t, n) { + return e & t | ~e & n + }(i, r, o), a), l)), + n(t(e, s), i) + } + + function r(e, i, r, o, a, s, l) { + return e = n(e, n(n(function (e, t, n) { + return e & n | t & ~n + }(i, r, o), a), l)), + n(t(e, s), i) + } + + function o(e, i, r, o, a, s, l) { + return e = n(e, n(n(function (e, t, n) { + return e ^ t ^ n + }(i, r, o), a), l)), + n(t(e, s), i) + } + + function a(e, i, r, o, a, s, l) { + return e = n(e, n(n(function (e, t, n) { + return t ^ (e | ~n) + }(i, r, o), a), l)), + n(t(e, s), i) + } + + function s(e) { + var t, n = "", i = ""; + for (t = 0; 3 >= t; t++) + n += (i = "0" + (e >>> 8 * t & 255).toString(16)).substr(i.length - 2, 2); + return n + } + + var l, u, c, d, p, f, h, g, m, v; + for (v = function (e) { + for (var t, n = e.length, i = n + 8, r = 16 * ((i - i % 64) / 64 + 1), o = new Array(r - 1), a = 0, s = 0; n > s;) + a = s % 4 * 8, + o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a, + s++; + return a = s % 4 * 8, + o[t = (s - s % 4) / 4] = o[t] | 128 << a, + o[r - 2] = n << 3, + o[r - 1] = n >>> 29, + o + }(e = function (e) { + e = e.replace(/\r\n/g, "\n"); + for (var t = "", n = 0; n < e.length; n++) { + var i = e.charCodeAt(n); + 128 > i ? t += String.fromCharCode(i) : i > 127 && 2048 > i ? (t += String.fromCharCode(i >> 6 | 192), + t += String.fromCharCode(63 & i | 128)) : (t += String.fromCharCode(i >> 12 | 224), + t += String.fromCharCode(i >> 6 & 63 | 128), + t += String.fromCharCode(63 & i | 128)) + } + return t + }(e)), + f = 1732584193, + h = 4023233417, + g = 2562383102, + m = 271733878, + l = 0; l < v.length; l += 16) + u = f, + c = h, + d = g, + p = m, + f = i(f, h, g, m, v[l], 7, 3614090360), + m = i(m, f, h, g, v[l + 1], 12, 3905402710), + g = i(g, m, f, h, v[l + 2], 17, 606105819), + h = i(h, g, m, f, v[l + 3], 22, 3250441966), + f = i(f, h, g, m, v[l + 4], 7, 4118548399), + m = i(m, f, h, g, v[l + 5], 12, 1200080426), + g = i(g, m, f, h, v[l + 6], 17, 2821735955), + h = i(h, g, m, f, v[l + 7], 22, 4249261313), + f = i(f, h, g, m, v[l + 8], 7, 1770035416), + m = i(m, f, h, g, v[l + 9], 12, 2336552879), + g = i(g, m, f, h, v[l + 10], 17, 4294925233), + h = i(h, g, m, f, v[l + 11], 22, 2304563134), + f = i(f, h, g, m, v[l + 12], 7, 1804603682), + m = i(m, f, h, g, v[l + 13], 12, 4254626195), + g = i(g, m, f, h, v[l + 14], 17, 2792965006), + f = r(f, h = i(h, g, m, f, v[l + 15], 22, 1236535329), g, m, v[l + 1], 5, 4129170786), + m = r(m, f, h, g, v[l + 6], 9, 3225465664), + g = r(g, m, f, h, v[l + 11], 14, 643717713), + h = r(h, g, m, f, v[l], 20, 3921069994), + f = r(f, h, g, m, v[l + 5], 5, 3593408605), + m = r(m, f, h, g, v[l + 10], 9, 38016083), + g = r(g, m, f, h, v[l + 15], 14, 3634488961), + h = r(h, g, m, f, v[l + 4], 20, 3889429448), + f = r(f, h, g, m, v[l + 9], 5, 568446438), + m = r(m, f, h, g, v[l + 14], 9, 3275163606), + g = r(g, m, f, h, v[l + 3], 14, 4107603335), + h = r(h, g, m, f, v[l + 8], 20, 1163531501), + f = r(f, h, g, m, v[l + 13], 5, 2850285829), + m = r(m, f, h, g, v[l + 2], 9, 4243563512), + g = r(g, m, f, h, v[l + 7], 14, 1735328473), + f = o(f, h = r(h, g, m, f, v[l + 12], 20, 2368359562), g, m, v[l + 5], 4, 4294588738), + m = o(m, f, h, g, v[l + 8], 11, 2272392833), + g = o(g, m, f, h, v[l + 11], 16, 1839030562), + h = o(h, g, m, f, v[l + 14], 23, 4259657740), + f = o(f, h, g, m, v[l + 1], 4, 2763975236), + m = o(m, f, h, g, v[l + 4], 11, 1272893353), + g = o(g, m, f, h, v[l + 7], 16, 4139469664), + h = o(h, g, m, f, v[l + 10], 23, 3200236656), + f = o(f, h, g, m, v[l + 13], 4, 681279174), + m = o(m, f, h, g, v[l], 11, 3936430074), + g = o(g, m, f, h, v[l + 3], 16, 3572445317), + h = o(h, g, m, f, v[l + 6], 23, 76029189), + f = o(f, h, g, m, v[l + 9], 4, 3654602809), + m = o(m, f, h, g, v[l + 12], 11, 3873151461), + g = o(g, m, f, h, v[l + 15], 16, 530742520), + f = a(f, h = o(h, g, m, f, v[l + 2], 23, 3299628645), g, m, v[l], 6, 4096336452), + m = a(m, f, h, g, v[l + 7], 10, 1126891415), + g = a(g, m, f, h, v[l + 14], 15, 2878612391), + h = a(h, g, m, f, v[l + 5], 21, 4237533241), + f = a(f, h, g, m, v[l + 12], 6, 1700485571), + m = a(m, f, h, g, v[l + 3], 10, 2399980690), + g = a(g, m, f, h, v[l + 10], 15, 4293915773), + h = a(h, g, m, f, v[l + 1], 21, 2240044497), + f = a(f, h, g, m, v[l + 8], 6, 1873313359), + m = a(m, f, h, g, v[l + 15], 10, 4264355552), + g = a(g, m, f, h, v[l + 6], 15, 2734768916), + h = a(h, g, m, f, v[l + 13], 21, 1309151649), + f = a(f, h, g, m, v[l + 4], 6, 4149444226), + m = a(m, f, h, g, v[l + 11], 10, 3174756917), + g = a(g, m, f, h, v[l + 2], 15, 718787259), + h = a(h, g, m, f, v[l + 9], 21, 3951481745), + f = n(f, u), + h = n(h, c), + g = n(g, d), + m = n(m, p); + return (s(f) + s(h) + s(g) + s(m)).toLowerCase() + }(token + "&" + t + "&" + appKey + "&" + formData) + } } diff --git a/src/entry/background.js b/src/entry/background.js index 80ac8ef..e09ef6d 100644 --- a/src/entry/background.js +++ b/src/entry/background.js @@ -131,11 +131,13 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { headers['Content-Type'] = 'text/html'; headers.cookie = getAliexpressCookie(); const {_m_h5_c, _m_h5_tk} = cookie2Obj(headers.cookie) - const {appKey, t, formData} = request - const sign = getSign(_m_h5_c || _m_h5_tk, appKey, t, formData) + const {mtopConfig = {appKey: "12574478"}} = window + const {appKey = mtopConfig.appKey, formData} = request + const {sign, t} = getSign(_m_h5_c || _m_h5_tk, appKey, formData) const url = new URL(request.url) let params = new URLSearchParams(url.search); params.append('sign', sign) + params.append('t', t) url.search = params.toString() Promise.resolve().then(() => fetch(url.toString(), { 'headers': headers, 'method': 'POST', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'