diff --git a/output.js b/output.js index cd58ebb..61c4de8 100644 --- a/output.js +++ b/output.js @@ -1,105 +1,139 @@ -//Fri May 23 2025 11:04:05 GMT+0000 (Coordinated Universal Time) +//Sat May 24 2025 08:38:24 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action -var _0xodm = 'jsjiami.com.v7'; -var _0x2830c7 = _0x23f8; -(function (_0x2c1abd, _0x22e6a6, _0x455144, _0x519ecf, _0x4b9f53, _0x14b37c, _0xf6a69) { - return _0x2c1abd = _0x2c1abd >> 0x4, _0x14b37c = 'hs', _0xf6a69 = 'hs', function (_0x1f20f7, _0x2bbd21, _0x4ff3fe, _0x4c3b7b, _0xaf6b9a) { - var _0xbf321d = _0x23f8; - _0x4c3b7b = 'tfi', _0x14b37c = _0x4c3b7b + _0x14b37c, _0xaf6b9a = 'up', _0xf6a69 += _0xaf6b9a, _0x14b37c = _0x4ff3fe(_0x14b37c), _0xf6a69 = _0x4ff3fe(_0xf6a69), _0x4ff3fe = 0x0; - var _0x1d6f96 = _0x1f20f7(); - while (true && --_0x519ecf + _0x2bbd21) { - try { - _0x4c3b7b = -parseInt(_0xbf321d(0xd0, 'veWs')) / 0x1 + -parseInt(_0xbf321d(0xd3, 'xdPS')) / 0x2 + parseInt(_0xbf321d(0xc6, 'x)qM')) / 0x3 + parseInt(_0xbf321d(0xd1, 'Gt6n')) / 0x4 * (parseInt(_0xbf321d(0xca, 'kt@k')) / 0x5) + parseInt(_0xbf321d(0xc9, '*@Xw')) / 0x6 + -parseInt(_0xbf321d(0xd8, 'uWIZ')) / 0x7 * (parseInt(_0xbf321d(0xd5, 'OgRT')) / 0x8) + parseInt(_0xbf321d(0xc8, 'UWfb')) / 0x9; - } catch (_0x21722b) { - _0x4c3b7b = _0x4ff3fe; - } finally { - _0xaf6b9a = _0x1d6f96[_0x14b37c](); - if (_0x2c1abd <= _0x519ecf) _0x4ff3fe ? _0x4b9f53 ? _0x4c3b7b = _0xaf6b9a : _0x4b9f53 = _0xaf6b9a : _0x4ff3fe = _0xaf6b9a;else { - if (_0x4ff3fe == _0x4b9f53['replace'](/[EIdQSGYMJkKfBHVrhuF=]/g, '')) { - if (_0x4c3b7b === _0x2bbd21) { - _0x1d6f96['un' + _0x14b37c](_0xaf6b9a); - break; - } - _0x1d6f96[_0xf6a69](_0xaf6b9a); +const _0x3f0b16 = function () { + let _0x2855d2 = true; + return function (_0x460ea4, _0x526937) { + const _0x2eed9a = _0x2855d2 ? function () { + { + if (_0x526937) { + { + const _0x2d43b7 = _0x526937.apply(_0x460ea4, arguments); + _0x526937 = null; + return _0x2d43b7; } } } - } - }(_0x455144, _0x22e6a6, function (_0x43f07e, _0xb59a1f, _0xd155e, _0x1743ab, _0x20973f, _0x5d8e0c, _0xe1f1e3) { - return _0x43f07e = arguments[0x0], _0x43f07e = _0x43f07e['\\x73\\x70\\x6c\\x69\\x74'](''), _0x43f07e = _0x43f07e['\\x72\\x65\\x76\\x65\\x72\\x73\\x65']('\\x76'), 0x178cb3, _0x43f07e['\\x6a\\x6f\\x69\\x6e'](''); - }); -}(0xcb0, 0x37801, _0x2465, 0xcd), _0x2465) && (_0xodm = _0x2830c7(0xc7, ')fd0')); -function _0x23f8(_0x7d7b56, _0x2f9497) { - var _0x246566 = _0x2465(); - return _0x23f8 = function (_0x23f84e, _0x3ecbf6) { - _0x23f84e = _0x23f84e - 0xc6; - var _0x6e0d6e = _0x246566[_0x23f84e]; - if (_0x23f8['JwoIQZ'] === undefined) { - var _0x424a65 = function (_0x3e6476) { - var _0x5f1695 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/='; - var _0x3fd3dc = '', - _0x5006d0 = ''; - for (var _0x5e6c6b = 0x0, _0x2cb49c, _0x857300, _0x44bdfa = 0x0; _0x857300 = _0x3e6476['charAt'](_0x44bdfa++); ~_0x857300 && (_0x2cb49c = _0x5e6c6b % 0x4 ? _0x2cb49c * 0x40 + _0x857300 : _0x857300, _0x5e6c6b++ % 0x4) ? _0x3fd3dc += String['fromCharCode'](0xff & _0x2cb49c >> (-0x2 * _0x5e6c6b & 0x6)) : 0x0) { - _0x857300 = _0x5f1695['indexOf'](_0x857300); - } - for (var _0x184968 = 0x0, _0x1048b8 = _0x3fd3dc['length']; _0x184968 < _0x1048b8; _0x184968++) { - _0x5006d0 += '%' + ('00' + _0x3fd3dc['charCodeAt'](_0x184968)['toString'](0x10))['slice'](-0x2); - } - return decodeURIComponent(_0x5006d0); - }; - var _0x316878 = function (_0x21aa27, _0x32d92d) { - var _0x473efc = [], - _0x2bfb8e = 0x0, - _0x317d31, - _0x11b136 = ''; - _0x21aa27 = _0x424a65(_0x21aa27); - var _0x16c6f6; - for (_0x16c6f6 = 0x0; _0x16c6f6 < 0x100; _0x16c6f6++) { - _0x473efc[_0x16c6f6] = _0x16c6f6; - } - for (_0x16c6f6 = 0x0; _0x16c6f6 < 0x100; _0x16c6f6++) { - _0x2bfb8e = (_0x2bfb8e + _0x473efc[_0x16c6f6] + _0x32d92d['charCodeAt'](_0x16c6f6 % _0x32d92d['length'])) % 0x100, _0x317d31 = _0x473efc[_0x16c6f6], _0x473efc[_0x16c6f6] = _0x473efc[_0x2bfb8e], _0x473efc[_0x2bfb8e] = _0x317d31; - } - _0x16c6f6 = 0x0, _0x2bfb8e = 0x0; - for (var _0x186760 = 0x0; _0x186760 < _0x21aa27['length']; _0x186760++) { - _0x16c6f6 = (_0x16c6f6 + 0x1) % 0x100, _0x2bfb8e = (_0x2bfb8e + _0x473efc[_0x16c6f6]) % 0x100, _0x317d31 = _0x473efc[_0x16c6f6], _0x473efc[_0x16c6f6] = _0x473efc[_0x2bfb8e], _0x473efc[_0x2bfb8e] = _0x317d31, _0x11b136 += String['fromCharCode'](_0x21aa27['charCodeAt'](_0x186760) ^ _0x473efc[(_0x473efc[_0x16c6f6] + _0x473efc[_0x2bfb8e]) % 0x100]); - } - return _0x11b136; - }; - _0x23f8['OZSMGS'] = _0x316878, _0x7d7b56 = arguments, _0x23f8['JwoIQZ'] = true; - } - var _0x3696ea = _0x246566[0x0], - _0x1fae5c = _0x23f84e + _0x3696ea, - _0x249757 = _0x7d7b56[_0x1fae5c]; - return !_0x249757 ? (_0x23f8['odJdYn'] === undefined && (_0x23f8['odJdYn'] = true), _0x6e0d6e = _0x23f8['OZSMGS'](_0x6e0d6e, _0x3ecbf6), _0x7d7b56[_0x1fae5c] = _0x6e0d6e) : _0x6e0d6e = _0x249757, _0x6e0d6e; - }, _0x23f8(_0x7d7b56, _0x2f9497); -} -function _0x2465() { - var _0xb7569f = function () { - return [_0xodm, 'MEjfKkshYjQVdiIaFmBi.KcJomHuI.vff7rMfVGS==', 'WQ3dGXBdSZpcQsDaW44pW4lcL8kP', 'gNNcLtFcNc8OEuSJW5tdVCo3', 'BmozWRFcQbdcKmo5W7ldR15cW4Sp', 'BNJdJdVcLW', 'W5z8iCocW5lcVKxdUCoEFSk2z2C5a8klW7VdQCkq', 'tfOkWR3cHW'].concat(function () { - return ['WPnMW5pcMSowtSkqWPxcL8oKWOFcRv/cIG', 'hmotahBcTaGQeYCxWPG2pG', 'jHqkWPRdLmoyW7xdOSo8pmkKWRa', 'wmkuh1OblgW', 'zNVdNLBcKqJcJq', 'W4JdTmopuWzQatGtW75kBq', 'wCkgWQvWhCou', 'w8k9WR8jW5XUW6BdV3JdU8kdiWy'].concat(function () { - return ['d8kUWQ94gM5zWOnbWP5nl8kmteRcG3ToWQbf', 'kSo9juunaeVcTSoYbxHmca', 'W7hcV13dVKpcQSkZ', 'WQvem8k3gW', 'ASopW5yzC3OaW5qpW58zrW', 'auOHnGLbz8kuEmkNW6/dJmk4AG']; - }()); - }()); - }(); - _0x2465 = function () { - return _0xb7569f; + } : function () {}; + _0x2855d2 = false; + return _0x2eed9a; }; - return _0x2465(); -} -; -function FindProxyForURL(_0x52fcef, _0x353a45) { - var _0x130907 = _0x2830c7, - _0x104f0a = { - 'xAjmn': function (_0x13ecd9, _0x31eecd, _0x356b11) { - return _0x13ecd9(_0x31eecd, _0x356b11); - }, - 'KcDww': _0x130907(0xcc, '[wql'), - 'cKhbc': _0x130907(0xd6, 'x)qM'), - 'iFWrk': _0x130907(0xd4, '5@D&') +}(); +const _0x18a990 = _0x3f0b16(this, function () { + const _0x9ce0fa = typeof window !== "undefined" ? window : typeof process === "object" && typeof require === "function" && typeof global === "object" ? global : this; + const _0x5430ca = function () { + const _0x3805b1 = new _0x9ce0fa.RegExp("^([^ ]+( +[^ ]+)+)+[^ ]}"); + return !_0x3805b1.test(_0x18a990); + }; + return _0x5430ca(); +}); +_0x18a990(); +class RequestController { + constructor() { + document.getElementById("copyButton").style.display = "none"; + this.isRequestPending = false; + this.controller = null; + this.timeout = 10000; + } + async handleRequest() { + if (this.isRequestPending) { + { + alert("⚠️ 请求进行中,请勿重复提交"); + return; + } + } + try { + { + this.setPendingState(true); + const _0x20643f = this.validateInput(); + const _0x5ed49d = await this.sendRequest(_0x20643f); + this.handleResponse(_0x5ed49d); + } + } catch (_0x1d14bd) { + this.handleError(_0x1d14bd); + } finally { + this.setPendingState(false); + } + } + validateInput() { + const _0x4e5faa = document.getElementById("inputData").value.trim(); + if (!_0x4e5faa) { + throw new Error("输入内容不能为空"); + } + const _0x4cc0e3 = /pay_token=([A-Z0-9]*[A-Z][A-Z0-9]*[0-9][A-Z0-9]*)/; + if (!_0x4cc0e3.test(_0x4e5faa)) { + throw new Error("数据错误"); + } + return _0x4e5faa; + } + async sendRequest(_0x36dd7a) { + this.controller = new AbortController(); + const _0x45dc31 = setTimeout(() => this.controller.abort(), this.timeout); + var _0x24d7f8 = "Xiaoao-869747685"; + var _0x3aecac = CryptoJS.enc.Utf8.parse(_0x24d7f8); + var _0x545721 = CryptoJS.AES.encrypt(_0x36dd7a, _0x3aecac, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + const _0x1bb45a = { + "Content-Type": "application/x-www-form-urlencoded" }; - if (_0x104f0a[_0x130907(0xd9, '1OjJ')](shExpMatch, _0x353a45, _0x104f0a['KcDww'])) return _0x104f0a[_0x130907(0xcd, 'Y5]0')]; - return _0x104f0a[_0x130907(0xcb, 'ziET')]; + const _0x233138 = await fetch("./validate/getOP.php", { + method: "POST", + headers: _0x1bb45a, + body: _0x545721, + signal: this.controller.signal + }); + clearTimeout(_0x45dc31); + const _0x203979 = await _0x233138.json(); + console.log(_0x203979); + if (_0x203979.status == "success") { + return _0x203979.url; + } + console.log(_0x203979.status); + return _0x203979.message; + } + setPendingState(_0xd8262) { + this.isRequestPending = _0xd8262; + document.getElementById("submitButton").disabled = _0xd8262; + document.querySelector(".loadingDots").style.display = _0xd8262 ? "block" : "none"; + document.querySelector(".buttonText").style.visibility = _0xd8262 ? "hidden" : "visible"; + document.getElementById("statusLed").style.background = _0xd8262 ? "#0ff" : "#f0f5"; + } + handleResponse(_0x228a5c) { + const _0x1243b8 = document.getElementById("outputData"); + _0x1243b8.innerHTML = _0x228a5c; + _0x1243b8.style.animation = "textGlow 1s ease-out"; + setTimeout(() => _0x1243b8.style.animation = "", 1000); + document.getElementById("copyButton").style.display = "block"; + document.getElementById("copyButton").onclick = async () => { + const _0x32de32 = document.getElementById("outputData"); + try { + await navigator.clipboard.writeText(_0x32de32.textContent); + alert("✅ 复制成功!"); + } catch (_0x47a8e4) { + console.error("复制失败:", _0x47a8e4); + alert("❌ 复制失败,请手动选择复制"); + } + }; + } + handleError(_0x1e2069) { + const _0x3f151d = { + AbortError: "⏱️ 请求超时,请检查网络连接", + TypeError: "🌐 网络连接异常", + SyntaxError: "🔍 响应数据解析失败", + default: "❌ 系统错误: " + _0x1e2069.message + }; + const _0x433ea6 = _0x3f151d[_0x1e2069.name] || _0x3f151d.default; + alert(_0x433ea6, true); + } + clear() { + inputData.value = ""; + } } -var version_ = 'jsjiami.com.v7'; \ No newline at end of file +const controller = new RequestController(); +document.getElementById("submitButton").addEventListener("click", () => controller.handleRequest()); +document.getElementById("clearButton").addEventListener("click", () => controller.clear()); +const style = document.createElement("style"); +style.textContent = "\n @keyframes float {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(-20px); }\n }\n @keyframes textGlow {\n 0% { text-shadow: 0 0 10px #0ff; }\n 50% { text-shadow: 0 0 20px #0ff; }\n 100% { text-shadow: 0 0 10px #0ff; }\n }\n @keyframes slideUp {\n from { bottom: -50px; }\n to { bottom: 30px; }\n }\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n }\n "; +document.head.appendChild(style); \ No newline at end of file diff --git a/output.py b/output.py index 99c9a68..e6e1ca0 100644 Binary files a/output.py and b/output.py differ