Add decoded output file

This commit is contained in:
action
2025-05-24 08:38:24 +00:00
parent 5a46140b18
commit e81de193d4
2 changed files with 131 additions and 97 deletions

222
output.js
View File

@@ -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:<url id="cv1cref6o68qmpt26ol0" type="url" status="parsed" title="GitHub - echo094/decode-js: JS混淆代码的AST分析工具 AST analysis tool for obfuscated JS code" wc="2165">https://github.com/echo094/decode-js</url>
//Modify:<url id="cv1cref6o68qmpt26olg" type="url" status="parsed" title="GitHub - smallfawn/decode_action: 世界上本来不存在加密,加密的人多了,也便成就了解密" wc="741">https://github.com/smallfawn/decode_action</url>
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);
} : function () {};
_0x2855d2 = false;
return _0x2eed9a;
};
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;
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 _0x2465();
return _0x5430ca();
});
_0x18a990();
class RequestController {
constructor() {
document.getElementById("copyButton").style.display = "none";
this.isRequestPending = false;
this.controller = null;
this.timeout = 10000;
}
;
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&')
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;
}
var version_ = 'jsjiami.com.v7';
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 = "";
}
}
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);

BIN
output.py

Binary file not shown.