目录
一.逆向请求参数
全局搜索sign:
二.解密返回参数
1利用node.js 内置密码库crypto
2利用webpack工具半自动扣js
话不多说,直接干
接口:aHR0cHM6Ly9kaWN0LnlvdWRhby5jb20vd2VidHJhbnNsYXRl
通过多次请求发现 只有sign和mysticTime(时间戳)是变化的,
sign有32位,估计是MD5加密,到底是不是,还得打断点调试一下。
请求加密参数:sign:a13c54dae610f25771a9922819f840e8
这个位置很明显打上断点,进去看看,很明显标准MD5加密
加密参数如下:
`client=${l}&mysticTime=${e}&product=${d}&key=${t}`
'client=fanyideskweb&mysticTime=fsdsogkndfokasodnaso&product=webfanyi&key=1680856846833'
通过测试key是写死的fsdsogkndfokasodnaso
直接进行请求就可以了
import requests
import hashlib
import time
localtime = str(int(time.time() * 1000))
data = "client=fanyideskweb&mysticTime={}&product=webfanyi&key=fsdsogkndfokasodnaso".format(localtime)
sign = hashlib.md5(data.encode(encoding='utf-8')).hexdigest()#python中的MD5 加密
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"Referer": "https://fanyi.youdao.com/index.html"
}
cookies = {
"OUTFOX_SEARCH_USER_ID": "[email protected]",
"OUTFOX_SEARCH_USER_ID_NCOO": "86107500.53660281"
}
url = "https://dict.youdao.com/webtranslate"
word = input('请输入翻译内容:')
data = {
"i": f"{word}",
"from": "auto",
"to": "",
"dictResult": "true",
"keyid": "webfanyi",
"sign": sign,
"client": "fanyideskweb",
"product": "webfanyi",
"appVersion": "1.0.0",
"vendor": "web",
"pointParam": "client,mysticTime,product",
"mysticTime": localtime,
"keyfrom": "fanyi.web"
}
response = requests.post(url=url, headers=headers, cookies=cookies, data=data).text
print(response)
返回数据加密,可以通过hook找JSON.parse 这里有道给出了解密接口位置(有点猖狂了)
hook脚本:
var my_parse = JSON.parse;
JSON.parse = function (params) {
debugger
console.log("json_parse params:",params);
return my_parse(params);
};
进入nn["a"].decodeData
接下来直接扣下js去执行
其实看到了c.a.createDecipheriv
aes-128-cbc
,就可以用node中内置的加密库crypto库去执行我们全局搜索
decodeData
发现是写死的
O=>key N=>iv
const crypto=require('crypto')
const o = 'ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl';
const n = 'ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4';
T = (t)=>{
const a = Buffer.alloc(16, crypto.createHash('md5').update(o).digest())
, r = Buffer.alloc(16, crypto.createHash('md5').update(n).digest())
, i = crypto.createDecipheriv("aes-128-cbc", a, r);
let s = i.update(t, "base64", "utf-8");
return s += i.final("utf-8"),
s
}
var data = 'Z21kD9ZK1ke6ugku2ccWu4n6eLnvoDT0YgGi0y3g-v0B9sYqg8L9D6UERNozYOHqbBfzK6Xzrr9D-JWITYK25LvQDZCC0OlEEvd20o_ZiEEuK65tg23dMhRrxqhqtxIrNzG07ztorX1tqTAjjktXkt3fOARrt6bIzsA_YgrJf32giJ1wqwn5herSUYkCNbHAOMwJ3nEbEm--XU1H-6r2wUOUBxioOIwyZKAL52E-sABmPS6ou8TElc7wHs1FJFJTkek3wThbdDa_RhyHkEiaTlA2grMeaXZJH1b_R81RbQuOVedJQvtilpnJnlz5TR8Grr1SZ1RLrEFy-miNjMJTmU_o5tqTUfyQysveYv1CYML6TOwNLIRhQN2P0WbFFAY6LU9jlpkZ589g2UJyeIIvafqpbtJHlZ3l92etNaYGrokV07mdu3zNX02bvhVhRHylYMYcEC24RcYtBNRfkA5lAJPxsPKOacfqsHOZAn1zThvCkhzfdHegfgyRhPtF92dhTwGm7yiL4t_EoFWOxZNkB8d82WjnrUrq8jUMrMP-J3gUAwL7CD9aVoWmQUolFQK_8HOemua_saZiis0O7M6lq3ghoOL3prkXwuzznJybEFQj06EfSogAG6lmE7Rh1aOTSVQ1PEF_4V3UJurHE3b1I7yj2_M8zP6rEndJjly4LpqSbRME8ME7JT6heZipLVjgwcgkNpX5xbpdYE8zrwSfEPiHTfl094t6TfI0-Gavi3eZj7TaMNAPDAQ5wACfbTq0-LxzA1_htFQemIaxl5bZAtM9waNQanbVaLfQ8ZCdWvWIIq9pxgxEOTCRzaCzMg8fmtxfLCHOIMfUAKRWNssJo8J_hTm49Ec_PcOehIxifKnZjR4ie73FUs8RxCfFotzjHubvF1nt-Y209eR1XVo3zJBpeleGPXJm4wxz3_21ZZPul2ZTcHhbu7HFsYHKYx88o9CaOFyLwXcy2xbJcqWbYcHNpbYm2J96s-Ag8DHEQcW-eLZwCzRfeveV2Z3CK1RcS8-MvbgcJtPuqKtqfVPJaBdG3aF7Ilyb7VRQZ2Ymw4J7iRYL6F6fioFwCht9sN8vYBqcFvDJtMSBdeEL1btu1h3W_dWI8UC5KHRGjg0_ckjbuY7XSaoBnojXo89wN6gy-Lnzs8q-E8y6Yf-elvjgJqT4kTruc_g0W_bjebZIAzaNM-FZtc5f3CQo8ILPzvCXTMzl2EmtN-EevrUlYZaF1F4AKsCejtvC4emJvOluf5ctdu-lN7P0WkjICzIXwMZ9d9oTk2byhZAoSwHo5hr21b_ZcBPPBbNDuRrt3liaZfW5IOifyZdRBoXPkWUfsIlNc-72yLNx93B2cohKKEtYmdMankxBYRvYKPM-GOzfyt4_lvMybr_GMbZe0S5EEYM_d0opLKXfnUzoS-klHpbSmQQB49X_MSNmdmm6M5k10FxJ8QGjB9U2ouKWsopJkg8iuz4WOT9i_j8eRZQHFW75zWEC5aqHyJ-Hfs3bNeQP62UI-B1HvAo76Yx0FxYhcTVLvUBwOUc6kOlB-XYj9jQx56lQoIGFjYYySnSh3U-b_76IkgK_y9kmVIlx2G-vzkXt7-tQDZQopu2NnvIlrhA-ZDI0E83s_QFstzLSWlEftUn25d0Qzf48QSQFlClkY8XzAZxjGa-bmkMPpZ0Sfh2IOXZjpHiO6uLLHnrzP0Qeo9eAyFtVgLMWnhmeoayzfzL98s9zTo37YMJ6NvAAFZ-1HSPnwi8-0llfBh61OxhDC9dJCzY_nQRdQMEOBc8Yy-epfMHhM5TAezBeFzv5dLqWRlnZ97GwhPFzkg_Jk4ON1dCpR5881Uq6W1dfVwQ5OAQaCTBOmej8T1SaSxNHfQ3D2qRF28sD70R19BCuSj3GtRfXFS9T8tKef-7a7JL0H_9jVdOK14xNk0d2qX3DwuC157n-jhausBpuf4Nq_z-ZahCq2Rs7GOoA-cxwqkXLeTWPloPUeD6OmKAFvKz1A0hApmZnQoG25NMY1KtTJBpaFnJFNA8YcgsIj7vJpFoT5FZxVwNNp4dkznoDKn-CYacdPaFg4ctMJwhSJxS955RYfBO3wf4YLcfIExue0t25gJRBKyOd-3VYYdLRYwsK_u4f31B8rWbVOFl1Aw-YCDLQ9M8iPdBoosBddg-KQl43NJmzdnT4MKGyVv_FvK8fOJy7IO0PjZ3yQCmZHfNaIlk4ON52u3z8FaLv525BCnySLKylm5_w5_g7TzwGQEZxhRYyUeAxAwakC2ablU-Lntnyf17L7ILCkBmcrp2L_TSc4wyT_3aEeas6RJnTjwm4si9jiPP4Bdne7GG_-jiNjdwE4-2WlmrSp5sNzXqEXMlS7_ZjSju1Jo93L0rzeR_XYjeZw7iZeT70ZY2mwYrsaZPVUGgzKoI0UfPlHa2yLDtVK3DuinJ4usoAQSRM9EeiG-nkUUKx58K8p4lY4Kc6lpkPpfzXUNl8p1FkAPA-FS2fGYKQdLu86uCOXfPLzePjelbjD6QUWCwFKuQ7iN6xcVQSsuD0WRJzwrKPzn1P_z6fUg9YJ3zeXMD9r0apfFNeJbZjzluqfCLMSld5xDKD1bRG-i43CnM_-fPQT-aI8-QPjc0qTH9PgG-eswPNEnL_-AElsHPZ0B0lcXtJFOXucCIbFfCm5GQFMU1lY0b0UWyAg1mrevi6ckmBcLUCpmmODWY2Z_TYMYcYSlBeXYh8xkROr0tCPiRkYanT0cRWGSkuiEPopi5TA-3lS9KYNOmNSNAbjO4nbxPdMestAOR1xVLXKHizKy_pzVBge46E-Dh8hmUg3kbLEVLibiooEwJpWqC5zLzwKB-8rEbXxWHEjSNFS-q0nJFlssMRU5mDgOKkUiX6W-X5tZne5kiTqPcdL3mrnVoeZLY6JAlH9UvE3EdqL7dnm_QVM5B5aAhzJcFKWyT6v4jQSbWwD89MAlc-xvGIIXkG2uWDpX5xsscMkcncvHE4KhekOJBPq6kymVG-rO3KMPQhWXsYJbwVO5Vt8wO1XnkQkzn74sYd-Ewa38BSHH4pyL_yfRhhV95d5txn14xuxeHYDEVjLW8-l23xtxDhT_aHQIWjoSnfHIARE2xmphUNzcBrAOLUzWNXXAIT8IghLeJk3n5zozv-ctKu9OHikni9F3SlNhIySkSIDMWtiAtKgtj3N1tvW829s3yCZGtyiUWUKrhr5qDP39vpc6v0RE1OxxYd3OGLTxkeCTCDo4GFRKvauIVQGFRpDmBs0fNZdZRYnp9pAbj8Ext-FL2Rd7PP5N8X0fxAUJ6oVwNOamD_qSgRp2w1yjF93--ma9Lw0P_4BSz-fgtWdRRuc-sEQvxiT5o4BmuE-eXrS4571rQPClKK9Ea_RRIxrIJ03073wXxlzbRwhi3RlhQYLSKFLf6EQbEcUnfwFcb94WDcRXmh-XoNPOYf5s7CgsWC3TpYqsjMss3qKxsKC6qP2JOb6Fw31W8PCBxNitOhpj1INcxa1BpFMgI2ae0LGq_wqh70JdReHhvNkbW3ZW0Zd_6uINHJNgyA5xxoejmT2u9hPBnn_tze4PQsGJ4GMXVx_ENyFG9o_a5qLcBnkl-QAdXVIygfnm7_1c3PmPsIrr5OVNsLaxx-DFfbaTcy3Br0lJ3QaNPYHEG1ivaYk8jITOP-lN94y3fbhj45K44GTyQqvNuzQ8r2C_cpy02LDU9jwLFksMfVDikwKiwg-9kxE0qtZNcltChpvewuuK24ir8NOQgTyE0QTIKG9qvQP88qtGhcF906Sd1ODv7-2SA23e68buVl7EpGfwdn9_Dit-rW5dVQuRnr0_P1ggtcHCf6Nbn3ggenuRH2myS7syuTj5qr0OvCLB6TvUhH8Z6P8-IugxcdCp2u6IwMCL0PjlK6gSHvs2zFpt9m3BULPfHPo9dvEqJzoCivWkTPElzgHiGGe-uwKgqoPPPZyuInfwuzj41UJbV-3j8mVoo0Zo8PV4Tb9qsqXmZPKYopepw4wFIwY1kJbM1bBXitVqE1dGcs-VdTzZmYQEAcnPntuOy_S2dHaZB38O-oe9PVhsaaGf_EPmA3JLRClt799JenkIg7DH7C71-bRb1MDnTLMoA8dJiJ8bKrG_WCTKsWC_IHDsVjvTMinOm4Px1mZtxJdEgqLrmyGMfkkv_dvCLHzSSv8twg-torix4SGaoofEUFT85hGH_79jCnnoSGaLrYRMA8WEl_lVj97BoHdcXxG5DpdQbvg3KZ7v7xKVhnWVHRVAnZ5tN_lHn2cpIH7qMpovXDXWCL5joKi8ou-hiESMgtiBsbkSae4r2eJ9K4BB8q0HdqPxCE-MnxoFf8PGxkSn1mJidlYD1vLyBButE-tTuaH3QcGd7NBuitoOQnYxbUVyb0kcwx2ZHgtU4kiSLAYNaBlxQ7gs813-NBFtYhOgdKW5O0RK-F7dxVWoWXp-TV2_TmJpYcSmo3o3HpEJw43l5tlmuctv47a_-0WsnwHub9ldFD5ztzRQRWZS29i5vobzu9T-k1lj3iPrv3cDBZaTtqmtacT70WbR9Z6EQbDCzcYoPHHfiDJY_QlvpUc6PE83xK4PVl2R-Gl8TUcGbVWbly0TFPH-V4epfiQO-ziKhpHrhR-n1d54QCyhYg1Au_08_pJNAOmVLZ8n2etqVOG57TFwYZQUAav9-u0oT3sjk7UB-T7u5be-2mvnbziVRzstYrvBX5Yypxq79SIeRK91bIt8HqpKZ4crY3c9jlQPoewI6sFFMdfJvEPbfQTZk5CBJMnROB5AnFhoy4Y8ooqDODST1Z7_3xqbTXgx3VyUGlfCSvjbR38ZQZdAR25td82vOIDtoUNJ9jbkPJoxzxfkpmSyYwRSb4g9b2U7c95QyWxmjePlyIUT-ppGeu8d5oiXOsCtyFVNlDnGxSTauXRYcTuAEny-PdsqIVmput_vE3Hz70sY1ew7zvYVZismFlIXGrC68='
console.log(T(data))
解密成功!!!
node webpack_mixer.js -l 1.js -m 2.js -o webout.js
-l 加载器的js路径 加载器的js特征:
1.以自执行函数开头
2.定义导出函数,类似
return e[n].call(r.exports, r, r.exports, d), r.l = !0, r.exports
3.为导出函数添加多个方法,类似d.e,d.m,d.n等等
-m 函数模块的js路径 函数模块的js特征: 1.一般以(window.webpackJsonp开头
-o 输入结果的js路径
首先要明白如何解决webpack
一般步骤: 找到加载器 找到调用模块 构造一个自执行方法 导出加密方法 编写自定义方法 按照流程加密
var cs;
!function(e) {
var t = {};
// 加载器 所有的模块都是从这个函数加载 执行
function n(r) {
if (t[r])
return t[r].exports;
var o = t[r] = {
i: r,
l: !1,
exports: {}
};
return e[r].call(o.exports, o, o.exports, n),
o.l = !0,
o.exports
}
// n(9527)
cs = n
}
([
function () {
console.log('123456')
},
function () {
console.log('模块2')
},
])
// ({
// function () {
// console.log('123456')
// },
//
// 9527:function () {
// console.log('模块2')
// },
// })
cs(0)
利用工具半制动扣3w行
话不多少直接上代码!!!
const cs = require('./webout.js');
var data = 'Z21kD9ZK1ke6ugku2ccWu4n6eLnvoDT0YgGi0y3g-v0B9sYqg8L9D6UERNozYOHqbBfzK6Xzrr9D-JWITYK25LvQDZCC0OlEEvd20o_ZiEEuK65tg23dMhRrxqhqtxIrNzG07ztorX1tqTAjjktXkt3fOARrt6bIzsA_YgrJf32giJ1wqwn5herSUYkCNbHAOMwJ3nEbEm--XU1H-6r2wUOUBxioOIwyZKAL52E-sABmPS6ou8TElc7wHs1FJFJTkek3wThbdDa_RhyHkEiaTlA2grMeaXZJH1b_R81RbQuOVedJQvtilpnJnlz5TR8Grr1SZ1RLrEFy-miNjMJTmU_o5tqTUfyQysveYv1CYML6TOwNLIRhQN2P0WbFFAY6LU9jlpkZ589g2UJyeIIvafqpbtJHlZ3l92etNaYGrokV07mdu3zNX02bvhVhRHylYMYcEC24RcYtBNRfkA5lAJPxsPKOacfqsHOZAn1zThvCkhzfdHegfgyRhPtF92dhTwGm7yiL4t_EoFWOxZNkB8d82WjnrUrq8jUMrMP-J3gUAwL7CD9aVoWmQUolFQK_8HOemua_saZiis0O7M6lq3ghoOL3prkXwuzznJybEFQj06EfSogAG6lmE7Rh1aOTSVQ1PEF_4V3UJurHE3b1I7yj2_M8zP6rEndJjly4LpqSbRME8ME7JT6heZipLVjgwcgkNpX5xbpdYE8zrwSfEPiHTfl094t6TfI0-Gavi3eZj7TaMNAPDAQ5wACfbTq0-LxzA1_htFQemIaxl5bZAtM9waNQanbVaLfQ8ZCdWvWIIq9pxgxEOTCRzaCzMg8fmtxfLCHOIMfUAKRWNssJo8J_hTm49Ec_PcOehIxifKnZjR4ie73FUs8RxCfFotzjHubvF1nt-Y209eR1XVo3zJBpeleGPXJm4wxz3_21ZZPul2ZTcHhbu7HFsYHKYx88o9CaOFyLwXcy2xbJcqWbYcHNpbYm2J96s-Ag8DHEQcW-eLZwCzRfeveV2Z3CK1RcS8-MvbgcJtPuqKtqfVPJaBdG3aF7Ilyb7VRQZ2Ymw4J7iRYL6F6fioFwCht9sN8vYBqcFvDJtMSBdeEL1btu1h3W_dWI8UC5KHRGjg0_ckjbuY7XSaoBnojXo89wN6gy-Lnzs8q-E8y6Yf-elvjgJqT4kTruc_g0W_bjebZIAzaNM-FZtc5f3CQo8ILPzvCXTMzl2EmtN-EevrUlYZaF1F4AKsCejtvC4emJvOluf5ctdu-lN7P0WkjICzIXwMZ9d9oTk2byhZAoSwHo5hr21b_ZcBPPBbNDuRrt3liaZfW5IOifyZdRBoXPkWUfsIlNc-72yLNx93B2cohKKEtYmdMankxBYRvYKPM-GOzfyt4_lvMybr_GMbZe0S5EEYM_d0opLKXfnUzoS-klHpbSmQQB49X_MSNmdmm6M5k10FxJ8QGjB9U2ouKWsopJkg8iuz4WOT9i_j8eRZQHFW75zWEC5aqHyJ-Hfs3bNeQP62UI-B1HvAo76Yx0FxYhcTVLvUBwOUc6kOlB-XYj9jQx56lQoIGFjYYySnSh3U-b_76IkgK_y9kmVIlx2G-vzkXt7-tQDZQopu2NnvIlrhA-ZDI0E83s_QFstzLSWlEftUn25d0Qzf48QSQFlClkY8XzAZxjGa-bmkMPpZ0Sfh2IOXZjpHiO6uLLHnrzP0Qeo9eAyFtVgLMWnhmeoayzfzL98s9zTo37YMJ6NvAAFZ-1HSPnwi8-0llfBh61OxhDC9dJCzY_nQRdQMEOBc8Yy-epfMHhM5TAezBeFzv5dLqWRlnZ97GwhPFzkg_Jk4ON1dCpR5881Uq6W1dfVwQ5OAQaCTBOmej8T1SaSxNHfQ3D2qRF28sD70R19BCuSj3GtRfXFS9T8tKef-7a7JL0H_9jVdOK14xNk0d2qX3DwuC157n-jhausBpuf4Nq_z-ZahCq2Rs7GOoA-cxwqkXLeTWPloPUeD6OmKAFvKz1A0hApmZnQoG25NMY1KtTJBpaFnJFNA8YcgsIj7vJpFoT5FZxVwNNp4dkznoDKn-CYacdPaFg4ctMJwhSJxS955RYfBO3wf4YLcfIExue0t25gJRBKyOd-3VYYdLRYwsK_u4f31B8rWbVOFl1Aw-YCDLQ9M8iPdBoosBddg-KQl43NJmzdnT4MKGyVv_FvK8fOJy7IO0PjZ3yQCmZHfNaIlk4ON52u3z8FaLv525BCnySLKylm5_w5_g7TzwGQEZxhRYyUeAxAwakC2ablU-Lntnyf17L7ILCkBmcrp2L_TSc4wyT_3aEeas6RJnTjwm4si9jiPP4Bdne7GG_-jiNjdwE4-2WlmrSp5sNzXqEXMlS7_ZjSju1Jo93L0rzeR_XYjeZw7iZeT70ZY2mwYrsaZPVUGgzKoI0UfPlHa2yLDtVK3DuinJ4usoAQSRM9EeiG-nkUUKx58K8p4lY4Kc6lpkPpfzXUNl8p1FkAPA-FS2fGYKQdLu86uCOXfPLzePjelbjD6QUWCwFKuQ7iN6xcVQSsuD0WRJzwrKPzn1P_z6fUg9YJ3zeXMD9r0apfFNeJbZjzluqfCLMSld5xDKD1bRG-i43CnM_-fPQT-aI8-QPjc0qTH9PgG-eswPNEnL_-AElsHPZ0B0lcXtJFOXucCIbFfCm5GQFMU1lY0b0UWyAg1mrevi6ckmBcLUCpmmODWY2Z_TYMYcYSlBeXYh8xkROr0tCPiRkYanT0cRWGSkuiEPopi5TA-3lS9KYNOmNSNAbjO4nbxPdMestAOR1xVLXKHizKy_pzVBge46E-Dh8hmUg3kbLEVLibiooEwJpWqC5zLzwKB-8rEbXxWHEjSNFS-q0nJFlssMRU5mDgOKkUiX6W-X5tZne5kiTqPcdL3mrnVoeZLY6JAlH9UvE3EdqL7dnm_QVM5B5aAhzJcFKWyT6v4jQSbWwD89MAlc-xvGIIXkG2uWDpX5xsscMkcncvHE4KhekOJBPq6kymVG-rO3KMPQhWXsYJbwVO5Vt8wO1XnkQkzn74sYd-Ewa38BSHH4pyL_yfRhhV95d5txn14xuxeHYDEVjLW8-l23xtxDhT_aHQIWjoSnfHIARE2xmphUNzcBrAOLUzWNXXAIT8IghLeJk3n5zozv-ctKu9OHikni9F3SlNhIySkSIDMWtiAtKgtj3N1tvW829s3yCZGtyiUWUKrhr5qDP39vpc6v0RE1OxxYd3OGLTxkeCTCDo4GFRKvauIVQGFRpDmBs0fNZdZRYnp9pAbj8Ext-FL2Rd7PP5N8X0fxAUJ6oVwNOamD_qSgRp2w1yjF93--ma9Lw0P_4BSz-fgtWdRRuc-sEQvxiT5o4BmuE-eXrS4571rQPClKK9Ea_RRIxrIJ03073wXxlzbRwhi3RlhQYLSKFLf6EQbEcUnfwFcb94WDcRXmh-XoNPOYf5s7CgsWC3TpYqsjMss3qKxsKC6qP2JOb6Fw31W8PCBxNitOhpj1INcxa1BpFMgI2ae0LGq_wqh70JdReHhvNkbW3ZW0Zd_6uINHJNgyA5xxoejmT2u9hPBnn_tze4PQsGJ4GMXVx_ENyFG9o_a5qLcBnkl-QAdXVIygfnm7_1c3PmPsIrr5OVNsLaxx-DFfbaTcy3Br0lJ3QaNPYHEG1ivaYk8jITOP-lN94y3fbhj45K44GTyQqvNuzQ8r2C_cpy02LDU9jwLFksMfVDikwKiwg-9kxE0qtZNcltChpvewuuK24ir8NOQgTyE0QTIKG9qvQP88qtGhcF906Sd1ODv7-2SA23e68buVl7EpGfwdn9_Dit-rW5dVQuRnr0_P1ggtcHCf6Nbn3ggenuRH2myS7syuTj5qr0OvCLB6TvUhH8Z6P8-IugxcdCp2u6IwMCL0PjlK6gSHvs2zFpt9m3BULPfHPo9dvEqJzoCivWkTPElzgHiGGe-uwKgqoPPPZyuInfwuzj41UJbV-3j8mVoo0Zo8PV4Tb9qsqXmZPKYopepw4wFIwY1kJbM1bBXitVqE1dGcs-VdTzZmYQEAcnPntuOy_S2dHaZB38O-oe9PVhsaaGf_EPmA3JLRClt799JenkIg7DH7C71-bRb1MDnTLMoA8dJiJ8bKrG_WCTKsWC_IHDsVjvTMinOm4Px1mZtxJdEgqLrmyGMfkkv_dvCLHzSSv8twg-torix4SGaoofEUFT85hGH_79jCnnoSGaLrYRMA8WEl_lVj97BoHdcXxG5DpdQbvg3KZ7v7xKVhnWVHRVAnZ5tN_lHn2cpIH7qMpovXDXWCL5joKi8ou-hiESMgtiBsbkSae4r2eJ9K4BB8q0HdqPxCE-MnxoFf8PGxkSn1mJidlYD1vLyBButE-tTuaH3QcGd7NBuitoOQnYxbUVyb0kcwx2ZHgtU4kiSLAYNaBlxQ7gs813-NBFtYhOgdKW5O0RK-F7dxVWoWXp-TV2_TmJpYcSmo3o3HpEJw43l5tlmuctv47a_-0WsnwHub9ldFD5ztzRQRWZS29i5vobzu9T-k1lj3iPrv3cDBZaTtqmtacT70WbR9Z6EQbDCzcYoPHHfiDJY_QlvpUc6PE83xK4PVl2R-Gl8TUcGbVWbly0TFPH-V4epfiQO-ziKhpHrhR-n1d54QCyhYg1Au_08_pJNAOmVLZ8n2etqVOG57TFwYZQUAav9-u0oT3sjk7UB-T7u5be-2mvnbziVRzstYrvBX5Yypxq79SIeRK91bIt8HqpKZ4crY3c9jlQPoewI6sFFMdfJvEPbfQTZk5CBJMnROB5AnFhoy4Y8ooqDODST1Z7_3xqbTXgx3VyUGlfCSvjbR38ZQZdAR25td82vOIDtoUNJ9jbkPJoxzxfkpmSyYwRSb4g9b2U7c95QyWxmjePlyIUT-ppGeu8d5oiXOsCtyFVNlDnGxSTauXRYcTuAEny-PdsqIVmput_vE3Hz70sY1ew7zvYVZismFlIXGrC68='
a = cs("1c46")
c = cs.n(a)
e = cs('b639')
T = (t)=>{
var o = 'ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl'
var n = 'ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4'
const a = e.Buffer.alloc(16, f(o))
, i = e.Buffer.alloc(16, f(n))
, r = c.a.createDecipheriv("aes-128-cbc", a, i);
let s = r.update(t, "base64", "utf-8");
return s += r.final("utf-8"),
s
}
function f(e) {
return c.a.createHash("md5").update(e).digest()
}
function decrypt(data) {
return T(data)
}
console.log(T(data));