diff --git a/output.js b/output.js index a447f3d..6af532e 100644 --- a/output.js +++ b/output.js @@ -1,109 +1,504 @@ -//Sat Jun 28 2025 05:18:48 GMT+0000 (Coordinated Universal Time) +//Sat Jun 28 2025 05:22:58 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action -const 服务器 = "103.148.58.86:5005"; -let IP = 服务器; -var XxHttp = class { - static ["Get"](_0x46c6ac) { - return new Promise(_0xa4f822 => { - chrome.runtime.sendMessage({ - "act": "发送网络请求3_Get", - "url": _0x46c6ac - }, _0x3a1f95 => { - _0xa4f822(_0x3a1f95); - }); - }); - } - static ["Post"](_0x2283b5, _0x33b354, _0x418c12 = {}) { - return new Promise(_0x37c64b => { - chrome.runtime.sendMessage({ - "act": "发送网络请求3_Post", - "url": _0x2283b5, - "data": _0x33b354, - "headers": _0x418c12 - }, _0xb8a48c => { - _0x37c64b(_0xb8a48c); - }); - }); - } -}; -async function HttpRequest(_0x4ab3a2, _0x403e7a = "GET", _0x445cdd = {}, _0x23d9ec = {}, _0x59b7f1 = 5000) { - return new Promise((_0x4f56d1, _0x5863e1) => { - let _0x37e18a = { - "method": _0x403e7a, - "headers": _0x23d9ec +var callbackFn; +chrome.webRequest.onBeforeRequest.addListener(function (_0x3cdd13) { + if (_0x3cdd13.type === "image") { + if (!_0x3cdd13.url.includes("data:image/png;base64")) return { + "redirectUrl": chrome.runtime.getURL("dat/null.png") }; - _0x403e7a === "POST" && (_0x37e18a.body = JSON.stringify(_0x445cdd)); - const _0x30a7c1 = setTimeout(() => { - _0x5863e1(new Error("请求超时")); - }, _0x59b7f1); - chrome.runtime.sendMessage({ - "act": "发送网络请求2", - "url": _0x4ab3a2, - "data": _0x37e18a - }, _0x492a6b => { - clearTimeout(_0x30a7c1); - _0x4f56d1(_0x492a6b); + } + if (_0x3cdd13.url.includes("assets/js/365_591830335957524baa6f.js")) return console.log("365_591830335957524baa6f"), { + "redirectUrl": chrome.runtime.getURL("js/365_591830335957524baa6f.js") + }; + if (_0x3cdd13.url.includes("assets/js/416_f3aebfc094e7f8f9dcd2.js")) return console.log("416_f3aebfc094e7f8f9dcd2"), { + "redirectUrl": chrome.runtime.getURL("js/416_f3aebfc094e7f8f9dcd2.js") + }; +}, { + "urls": [""] +}, ["blocking"]); +chrome.runtime.onMessage.addListener(function (_0x165635, _0xcd908a, _0x398b78) { + var _0x5330cb = _0x165635.act; + switch (_0x5330cb) { + case "设置拦截器": + return true; + case "发送网络请求2": + { + const { + url: _0x2340e7, + data: _0x4c33ec + } = _0x165635; + fetch(_0x2340e7, _0x4c33ec).then(_0x222180 => { + if (!_0x222180.ok) throw new Error("网络调用失败..."); + return _0x222180.text().then(_0x29d1ba => { + try { + const _0x2d1006 = JSON.parse(_0x29d1ba); + return { + "isJson": true, + "data": _0x2d1006 + }; + } catch (_0x425e7d) { + return { + "isJson": false, + "data": _0x29d1ba + }; + } + }); + }).then(_0x46561e => { + console.log("返回了"); + console.log(_0x46561e.data); + _0x46561e.isJson ? _0x398b78({ + "isError": false, + "errorMessage": "", + "data": _0x46561e.data + }) : _0x398b78({ + "isError": false, + "errorMessage": "", + "data": null, + "txt": _0x46561e.data + }); + }).catch(_0xd82087 => { + console.error("请求失败:", _0xd82087); + _0x398b78({ + "isError": true, + "errorMessage": _0xd82087.message || "未知错误", + "data": null + }); + }); + return true; + } + case "发送网络请求3_Get": + { + const { + url: _0x52f6d6 + } = _0x165635; + XxBaHttp.Get(_0x52f6d6).then(_0x5cae3a => _0x398b78(_0x5cae3a)); + return true; + } + case "发送网络请求3_Post": + { + const { + url: _0x9f5ae8, + data: _0x1fb639, + headers: _0x49547a + } = _0x165635; + XxBaHttp.Post(_0x9f5ae8, _0x1fb639, _0x49547a).then(_0x436df8 => _0x398b78(_0x436df8)); + return true; + } + case "新标签页打开扩展网址": + { + chrome.tabs.create({ + "url": "chrome://extensions/" + }); + return false; + } + case "设置代理": + 设置代理(_0x165635, _0x398b78); + return true; + case "移除代理": + 移除代理(_0x165635, _0x398b78); + return true; + case "Get_info": + _0x398b78(localStorage.getItem(_0x165635.info)); + return true; + case "Set_info": + _0x398b78(localStorage.setItem(_0x165635.info, _0x165635.txt)); + return true; + case "查询代理": + chrome.proxy.settings.get({ + "incognito": false + }, function (_0x45b2ca) { + _0x45b2ca.value.mode === "fixed_servers" ? _0x398b78(true) : _0x398b78(false); + }); + return true; + case "跳转到网址": + _0xcd908a.tab && _0xcd908a.tab.id && 跳转到网址(_0x165635.url, _0xcd908a.tab.id); + return true; + case "跳转成功": + _0xcd908a.tab && _0xcd908a.tab.id && (clearInterval(跳转间隔), console.log("跳转成功: " + _0x165635.url)); + return true; + case "设置地区": + { + const { + 地区: _0x58211d, + 代码: _0x3706b0 + } = _0x165635; + chrome.cookies.remove({ + "url": "https://www.temu.com/", + "name": "currency" + }); + chrome.cookies.set({ + "url": "https://www.temu.com/", + "name": "currency", + "value": _0x58211d, + "httpOnly": false, + "secure": true, + "domain": "www.temu.com" + }); + chrome.cookies.remove({ + "url": "https://www.temu.com/", + "name": "region" + }); + chrome.cookies.set({ + "url": "https://www.temu.com/", + "name": "region", + "value": _0x3706b0, + "httpOnly": false, + "secure": true, + "domain": "www.temu.com" + }); + return true; + } + case "获取地区": + chrome.cookies.get({ + "url": "https://www.temu.com/", + "name": "region" + }, function (_0x126e24) { + _0x398b78(_0x126e24.value); + }); + return true; + case "清除缓存和Cookies": + 清除缓存和Cookies(_0x398b78); + return true; + case "点击鼠标左键": + { + const _0x482852 = _0xcd908a.tab.id, + { + x: _0x57d4af, + y: _0x328669 + } = _0x165635; + chrome.debugger.attach({ + "tabId": _0x482852 + }, "1.2", async () => { + await sendMouseEvent({ + "tabId": _0x482852, + "type": "mousePressed", + "x": _0x57d4af, + "y": _0x328669 + }); + await sendMouseEvent({ + "tabId": _0x482852, + "type": "mouseReleased", + "x": _0x57d4af, + "y": _0x328669 + }); + await chrome.debugger.detach({ + "tabId": _0x482852 + }); + }); + return true; + } + case "点击鼠标左键3": + { + const _0x4a5f16 = _0xcd908a.tab.id, + { + x: _0x55e98a, + y: _0x474a13 + } = _0x165635; + async function _0x53766d() { + await sendMouseEvent({ + "tabId": _0x4a5f16, + "type": "mousePressed", + "x": _0x55e98a, + "y": _0x474a13 + }); + await sendMouseEvent({ + "tabId": _0x4a5f16, + "type": "mouseReleased", + "x": _0x55e98a, + "y": _0x474a13 + }); + } + _0x53766d(); + return true; + } + case "点击鼠标左键2": + { + const _0x36a99b = _0xcd908a.tab.id, + { + x: _0x3ad8de, + y: _0x513fbb + } = _0x165635; + chrome.tabs.executeScript(_0x36a99b, { + "code": "\n\t\t\t\t\t(function(x, y) {\n\t\t\t\t\t var event = new MouseEvent('click', {\n\t\t\t\t\t\t'view': window,\n\t\t\t\t\t\t'bubbles': true,\n\t\t\t\t\t\t'cancelable': true\n\t\t\t\t\t });\n\t\t\t\t\n\t\t\t\t\t var target = document.elementFromPoint(x, y);\n\t\t\t\t\n\t\t\t\t\t if (target) {\n\t\t\t\t\t\ttarget.dispatchEvent(event);\n\t\t\t\t\t }\n\t\t\t\t\t})(" + _0x3ad8de + ", " + _0x513fbb + ");\n\t\t\t\t " + }); + return true; + } + case "附加调试器": + { + 如果未附加则附加调试器(_0xcd908a.tab.id); + return false; + } + case "取消附加调试器": + { + 如果已附加则取消附加调试器(_0xcd908a.tab.id); + return false; + } + case "清除一切": + { + chrome.browsingData.remove({ + "since": 0 + }, { + "appcache": true, + "cache": true, + "cookies": true, + "downloads": true, + "fileSystems": true, + "formData": true, + "history": true, + "indexedDB": true, + "localStorage": true, + "passwords": true, + "serviceWorkers": true, + "webSQL": true + }, () => { + console.log("浏览数据已清除"); + }); + return false; + } + case "获取所有的ck": + { + chrome.cookies.getAll({}, _0xc63b5e => { + console.log(_0xc63b5e); + }); + return false; + } + case "删除指定ck": + { + chrome.browsingData.remove({ + "since": 0 + }, { + "appcache": true, + "cookies": true, + "cache": true, + "downloads": true, + "fileSystems": true, + "formData": true, + "history": true, + "indexedDB": true, + "localStorage": true, + "passwords": true, + "serviceWorkers": true, + "webSQL": true + }, () => { + chrome.cookies.set({ + "url": "https://www.temu.com/", + "name": "currency", + "value": "USD", + "httpOnly": false, + "secure": true, + "domain": "www.temu.com" + }); + chrome.cookies.set({ + "url": "https://www.temu.com/", + "name": "region", + "value": "211", + "httpOnly": false, + "secure": true, + "domain": "www.temu.com" + }); + chrome.cookies.set({ + "url": "https://www.temu.com/", + "name": "language", + "value": "en", + "httpOnly": false, + "secure": true, + "domain": "www.temu.com" + }); + }); + return false; + } + default: + { + console.log("未知的操作: " + _0x5330cb); + } + } + return false; +}); +function 设置代理(_0x3419b6, _0x1618aa) { + data = _0x3419b6.data; + callbackFn && chrome.webRequest.onAuthRequired.removeListener(callbackFn); + var _0x43c0fd = { + "mode": "fixed_servers", + "rules": { + "singleProxy": { + "scheme": "http", + "host": data.IP, + "port": parseInt(data.port) + }, + "bypassList": data.bypassList + } + }; + data["账号"] && chrome.proxy.settings.set({ + "value": _0x43c0fd, + "scope": "regular" + }, function () { + callbackFn = function (_0x5ceaed) { + return { + "authCredentials": { + "username": data["账号"], + "password": data["密码"] + } + }; + }; + chrome.webRequest.onAuthRequired.addListener(callbackFn, { + "urls": [""] + }, ["blocking"]); + _0x1618aa(); + }); +} +function 移除代理(_0x1bfb26, _0x20b29d) { + chrome.proxy.settings.set({ + "value": { + "mode": "direct" + }, + "scope": "regular" + }, function () { + _0x20b29d(); + }); +} +let 跳转间隔; +function 跳转到网址(_0x1b1a51, _0x50c80d) { + let _0x514fb9 = 0; + function _0xff23() { + _0x514fb9++; + console.log("第 " + _0x514fb9 + " 次开始更换链接"); + chrome.tabs.update(_0x50c80d, { + "url": _0x1b1a51 + }); + } + clearInterval(跳转间隔); + 跳转间隔 = setInterval(_0xff23, 10000); + _0xff23(); +} +function 清除缓存和Cookies(_0x118f14) { + chrome.browsingData.remove({ + "since": 0, + "cache": true, + "cookies": true + }, () => { + _0x118f14({ + "status": "success", + "message": "Cache and Cookies cleared!" }); }); } -async function 加载核心脚本() { - let _0x5827a8 = localStorage.getItem("核心脚本"); - if (_0x5827a8) console.log("本地存在核心脚本,尝试从网络加载");else { - console.log("本地不存在核心脚本,从网络加载"); - await 无限制从网络加载核心脚本(10000); - return; +const sendMouseEvent = async ({ + tabId: _0x144355, + type: _0x491a38, + x: _0xdbb5a8, + y: _0x98e57a +}) => { + await chrome.debugger.sendCommand({ + "tabId": _0x144355 + }, "Input.dispatchMouseEvent", { + "type": _0x491a38, + "x": _0xdbb5a8, + "y": _0x98e57a, + "button": "left", + "clickCount": 1 + }); +}; +function 如果未附加则附加调试器(_0x7b3901) { + function _0x43f148(_0x72b560, _0x119c07) { + chrome.debugger.getTargets(_0x3e796c => { + const _0x3b6346 = _0x3e796c.some(_0x173cfa => _0x173cfa.tabId === _0x72b560 && _0x173cfa.attached); + _0x119c07(_0x3b6346); + }); } - try { - let _0x4b4930 = "http://" + IP + "/Getinfo", - _0x4dd27d = await HttpRequest(_0x4b4930, "GET", {}, {}, 5000); - if (_0x4dd27d.isError) { - console.log("网络失败,加载本地脚本"); - eval(_0x5827a8); - return; - } - if (_0x4dd27d.data) { - let _0x50111e = localStorage.getItem("版本号"); - console.log("当前的版本号", _0x50111e); - _0x4dd27d.data.version == _0x50111e ? (console.log("版本号一致,直接加载"), eval(_0x5827a8)) : (console.log("版本号不一致,重新申请"), await 从网络加载核心脚本(3, 10000)); - } - } catch (_0x3f0365) { - console.log("网络请求超时或失败,加载本地脚本"); - eval(_0x5827a8); + function _0x19bbfe(_0xbc0f06) { + const _0x5cfcf4 = "1.2"; + chrome.debugger.attach({ + "tabId": _0xbc0f06 + }, _0x5cfcf4, _0x4508b3 => { + chrome.runtime.lastError ? console.error("附加调试器时出错:", chrome.runtime.lastError.message) : console.log("调试器成功附加到标签页", _0xbc0f06); + }); } + _0x43f148(_0x7b3901, _0x48dbb3 => { + _0x48dbb3 ? console.log("调试器已经附加到标签页 " + _0x7b3901 + "。") : (console.log("调试器未附加到标签页 " + _0x7b3901 + "。现在开始附加..."), _0x19bbfe(_0x7b3901)); + }); } -async function 从网络加载核心脚本(_0x3fe148 = 3, _0xd11fc1 = 10000) { - let _0x5be1d7 = 0; - while (_0x5be1d7 < _0x3fe148) { - try { - let _0x819d2a = "http://" + IP + "/File/0.js?a=" + Math.random(), - _0x3a506b = await HttpRequest(_0x819d2a, "GET", {}, {}, _0xd11fc1), - _0x5af463 = _0x3a506b.txt; - localStorage.setItem("核心脚本", _0x5af463); - console.log("核心脚本加载成功"); - eval(_0x5af463); - return; - } catch (_0x1ba30a) { - _0x5be1d7++; - console.error("从网络加载核心脚本失败,重试第 " + _0x5be1d7 + " 次", _0x1ba30a); - _0x5be1d7 < _0x3fe148 ? await new Promise(_0x265bb8 => setTimeout(_0x265bb8, _0xd11fc1)) : console.error("所有重试均失败"); - } +function 如果已附加则取消附加调试器(_0xa4ca3a) { + function _0x18b0df(_0x50930a, _0x178ae6) { + chrome.debugger.getTargets(_0x1015d6 => { + const _0x31512d = _0x1015d6.some(_0x19ff38 => _0x19ff38.tabId === _0x50930a && _0x19ff38.attached); + _0x178ae6(_0x31512d); + }); } -} -async function 无限制从网络加载核心脚本(_0x7c2b5f = 10000) { - while (true) { - try { - let _0x499c71 = "http://" + IP + "/File/0.js?a=" + Math.random(), - _0x194016 = await HttpRequest(_0x499c71, "GET", {}, {}, _0x7c2b5f), - _0x5ed3cc = _0x194016.txt; - localStorage.setItem("核心脚本", _0x5ed3cc); - console.log("核心脚本加载成功"); - eval(_0x5ed3cc); - return; - } catch (_0x4976b4) { - console.error("从网络加载核心脚本失败,继续重试", _0x4976b4); - await new Promise(_0x563976 => setTimeout(_0x563976, _0x7c2b5f)); - } + function _0x42ec0c(_0x2b98ff) { + chrome.debugger.detach({ + "tabId": _0x2b98ff + }, () => { + chrome.runtime.lastError ? console.error("取消附加调试器时出错:", chrome.runtime.lastError.message) : console.log("调试器成功取消附加到标签页", _0x2b98ff); + }); } + _0x18b0df(_0xa4ca3a, _0xe4bc6e => { + _0xe4bc6e ? (console.log("调试器已附加到标签页 " + _0xa4ca3a + "。现在开始取消附加..."), _0x42ec0c(_0xa4ca3a)) : console.log("调试器未附加到标签页 " + _0xa4ca3a + "。无需取消附加。"); + }); } -加载核心脚本(); \ No newline at end of file +class XxBaHttp { + static ["Get"](_0x47359b, _0x32b7b5 = {}, _0x30218c = 15000) { + const _0x3b06dc = new AbortController(), + _0x2c198f = _0x3b06dc.signal, + _0x26f171 = setTimeout(() => _0x3b06dc.abort(), _0x30218c); + return fetch(_0x47359b, { + "method": "GET", + "headers": _0x32b7b5, + "signal": _0x2c198f + }).then(_0x8611a => { + clearTimeout(_0x26f171); + if (!_0x8611a.ok) throw new Error("HTTP error! Status: " + _0x8611a.status); + const _0x24dd8a = _0x8611a.headers.get("Content-Type"); + return _0x24dd8a && _0x24dd8a.includes("application/json") ? _0x8611a.json().then(_0x27a31e => ({ + "success": true, + "data": _0x27a31e, + "error": null + })) : _0x8611a.text().then(_0x4e1aeb => ({ + "success": true, + "data": _0x4e1aeb, + "error": null + })); + }).catch(_0x29cc68 => { + clearTimeout(_0x26f171); + return { + "success": false, + "data": null, + "error": _0x29cc68.name === "AbortError" ? "请求超时" : _0x29cc68.message || "出现未知错误" + }; + }); + } + static ["Post"](_0x259523, _0x1f9b3a, _0x501a01 = {}, _0x40edef = 15000) { + const _0x46adcd = new AbortController(), + _0x12e586 = _0x46adcd.signal, + _0x337fc9 = setTimeout(() => _0x46adcd.abort(), _0x40edef); + return fetch(_0x259523, { + "method": "POST", + "headers": { + "Content-Type": "application/json", + ..._0x501a01 + }, + "body": _0x1f9b3a, + "signal": _0x12e586 + }).then(_0x5f0644 => { + clearTimeout(_0x337fc9); + if (!_0x5f0644.ok) throw new Error("HTTP error! Status: " + _0x5f0644.status); + const _0x23eb56 = _0x5f0644.headers.get("Content-Type"); + return _0x23eb56 && _0x23eb56.includes("application/json") ? _0x5f0644.json().then(_0x22cf94 => ({ + "success": true, + "data": _0x22cf94, + "error": null + })) : _0x5f0644.text().then(_0x5274b5 => ({ + "success": true, + "data": _0x5274b5, + "error": null + })); + }).catch(_0x59091c => { + clearTimeout(_0x337fc9); + return { + "success": false, + "data": null, + "error": _0x59091c.name === "AbortError" ? "请求超时" : _0x59091c.message || "出现未知错误" + }; + }); + } +} \ No newline at end of file diff --git a/output.py b/output.py index f0df63b..65075d2 100644 Binary files a/output.py and b/output.py differ