Files
smallfawn-decode_action/output.js
2025-11-24 12:59:20 +00:00

1118 lines
78 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//Mon Nov 24 2025 12:59:20 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 _0x207dbe = 7;
const qs = require("\u0071\u0075\u0065\u0072\u0079\u0073\u0074\u0072\u0069\u006E\u0067");
_0x207dbe = "nmhjfh".split("").reverse().join("");
const axios = require("\u0061\u0078\u0069\u006F\u0073");
const querystring = require("\u0071\u0075\u0065\u0072\u0079\u0073\u0074\u0072\u0069\u006E\u0067");
const {
'\u0053\u006F\u0063\u006B\u0073\u0050\u0072\u006F\u0078\u0079\u0041\u0067\u0065\u006E\u0074': SocksProxyAgent
} = require("\u0073\u006F\u0063\u006B\u0073\u002D\u0070\u0072\u006F\u0078\u0079\u002D\u0061\u0067\u0065\u006E\u0074");
function generateRandomInteractionMessage() {
const _0xf4ced = ["\u6B63\u5728\u89C2\u770B\u5E7F\u544A", "\u8BA4\u771F\u89C2\u770B\u4E2D\u002E\u002E\u002E", "\u5BB9\u5185\u544A\u5E7F\u89C8\u6D4F".split("").reverse().join(""), "\u6A21\u62DF\u7528\u6237\u884C\u4E3A", "\u89C2\u770B\u89C6\u9891\u5E7F\u544A", "\u4FDD\u6301\u6D3B\u8DC3\u72B6\u6001", "\u5E7F\u544A\u6D4F\u89C8\u4E2D", "\u6B63\u5E38\u89C2\u770B\u65F6\u957F"];
return _0xf4ced[Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * _0xf4ced['\u006C\u0065\u006E\u0067\u0074\u0068'])];
}
const isDevMode = process['\u0065\u006E\u0076']['\u0044\u0045\u0056\u005F\u004D\u004F\u0044\u0045'] === "\u0031" || process['\u0065\u006E\u0076']['\u0044\u0045\u0056\u005F\u004D\u004F\u0044\u0045'] === "eurt".split("").reverse().join("");
function getEnvNumber(envKey, defaultValue) {
var _0x_0x67f = 13;
const _0xbcf = parseInt(process['\u0065\u006E\u0076'][envKey], 10);
_0x_0x67f = 4;
return isNaN(_0xbcf) ? defaultValue : _0xbcf;
}
const KSLOW_REWARD_THRESHOLD = getEnvNumber("\u004B\u0053\u004C\u004F\u0057\u005F\u0052\u0045\u0057\u0041\u0052\u0044\u005F\u0054\u0048\u0052\u0045\u0053\u0048\u004F\u004C\u0044", 10);
var _0xe646e = 2;
const KSROUNDS = getEnvNumber("SDNUORSK".split("").reverse().join(""), 35);
_0xe646e = 8;
const KSCOIN_LIMIT = getEnvNumber("\u004B\u0053\u0043\u004F\u0049\u004E\u005F\u004C\u0049\u004D\u0049\u0054", 500000);
const KSLOW_REWARD_LIMIT = getEnvNumber("\u004B\u0053\u004C\u004F\u0057\u005F\u0052\u0045\u0057\u0041\u0052\u0044\u005F\u004C\u0049\u004D\u0049\u0054", 3);
function getTasksToExecute() {
var _0xcc524f = 15;
const _0x694fab = process['\u0065\u006E\u0076']['\u0054\u0061\u0073\u006B'];
_0xcc524f = 2;
if (!_0x694fab) {
console['\u006C\u006F\u0067']("\u672A\u8BBE\u7F6E\u0054\u0061\u0073\u006B\u73AF\u5883\u53D8\u91CF\uFF0C\u5C06\u6267\u884C\u6240\u6709\u4EFB\u52A1\u0020\u0028\u0066\u006F\u006F\u0064\u002C\u0020\u0062\u006F\u0078\u002C\u0020\u006C\u006F\u006F\u006B\u0029");
return ["doof".split("").reverse().join(""), "\u0062\u006F\u0078", "\u006C\u006F\u006F\u006B"];
}
const _0x39g99d = _0x694fab['\u0073\u0070\u006C\u0069\u0074']("\u002C")['\u006D\u0061\u0070'](task => task['\u0074\u0072\u0069\u006D']()['\u0074\u006F\u004C\u006F\u0077\u0065\u0072\u0043\u0061\u0073\u0065']())['\u0066\u0069\u006C\u0074\u0065\u0072'](Boolean);
const _0xae641c = ["\u0066\u006F\u006F\u0064", "\u0062\u006F\u0078", "kool".split("").reverse().join("")];
var _0x99fd = 4;
const _0xfa67g = _0x39g99d['\u0066\u0069\u006C\u0074\u0065\u0072'](task => _0xae641c['\u0069\u006E\u0063\u006C\u0075\u0064\u0065\u0073'](task));
_0x99fd = 7;
if (_0xfa67g['\u006C\u0065\u006E\u0067\u0074\u0068'] === 0) {
console['\u006C\u006F\u0067']("\u0054\u0061\u0073\u006B\u73AF\u5883\u53D8\u91CF\u4E2D\u6CA1\u6709\u6709\u6548\u4EFB\u52A1\uFF0C\u5C06\u6267\u884C\u6240\u6709\u4EFB\u52A1\u0020\u0028\u0066\u006F\u006F\u0064\u002C\u0020\u0062\u006F\u0078\u002C\u0020\u006C\u006F\u006F\u006B\u0029");
return ["doof".split("").reverse().join(""), "\u0062\u006F\u0078", "kool".split("").reverse().join("")];
}
console['\u006C\u006F\u0067']("\u4ECE\u0054\u0061\u0073\u006B\u73AF\u5883\u53D8\u91CF\u4E2D\u89E3\u6790\u5230\u8981\u6267\u884C\u7684\u4EFB\u52A1\u003A\u0020" + _0xfa67g['\u006A\u006F\u0069\u006E'](" ,".split("").reverse().join("")));
return _0xfa67g;
}
function getAccountConfigsFromEnv() {
const _0xeeg = [];
const _0x9f16ca = new Set();
if (process['\u0065\u006E\u0076']['\u006B\u0073\u0063\u006B']) {
const ksckValue = process['\u0065\u006E\u0076']['\u006B\u0073\u0063\u006B'];
const configStrings = ksckValue['\u0073\u0070\u006C\u0069\u0074']("\u0026")['\u006D\u0061\u0070'](config => config['\u0074\u0072\u0069\u006D']())['\u0066\u0069\u006C\u0074\u0065\u0072'](Boolean);
_0xeeg['\u0070\u0075\u0073\u0068'](...configStrings);
}
for (let i = 1; i <= 666; i++) {
var _0x7429f = 9;
const _0x2e4a = `ksck${i}`;
_0x7429f = 0;
if (process['\u0065\u006E\u0076'][_0x2e4a]) {
const ksckValue = process['\u0065\u006E\u0076'][_0x2e4a];
const configStrings = ksckValue['\u0073\u0070\u006C\u0069\u0074']("\u0026")['\u006D\u0061\u0070'](config => config['\u0074\u0072\u0069\u006D']())['\u0066\u0069\u006C\u0074\u0065\u0072'](Boolean);
_0xeeg['\u0070\u0075\u0073\u0068'](...configStrings);
}
}
const _0xgf202d = [];
for (const _0x87a of _0xeeg) {
if (!_0x9f16ca['\u0068\u0061\u0073'](_0x87a)) {
_0x9f16ca['\u0061\u0064\u0064'](_0x87a);
_0xgf202d['\u0070\u0075\u0073\u0068'](_0x87a);
}
}
console['\u006C\u006F\u0067'](`从ksck及ksck1到ksck666环境变量中解析到 ${_0xgf202d['\u006C\u0065\u006E\u0067\u0074\u0068']} 个唯一配置`);
return _0xgf202d;
}
var _0x1f_0xbfb = 10;
const accountConfigs = getAccountConfigsFromEnv();
_0x1f_0xbfb = 2;
const accountCount = accountConfigs['\u006C\u0065\u006E\u0067\u0074\u0068'];
const tasksToExecute = getTasksToExecute();
console['\u006C\u006F\u0067']("========================\u624B\u5FEB\u76CA\u516C\u53CB\u5996==============".split("").reverse().join(""));
console['\u006C\u006F\u0067']("\u0020\u0020\u0020\u0020\u0020\u0020\u4E3B\u6253\u4E00\u4E2A\u4E0D\u82B1\u94B1\u5C31\u514D\u8D39\u7528\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020");
console['\u006C\u006F\u0067']("\u0020\u0020\u0020\u0020\u0020\u0020\u5996\u53CB\u4E13\u7528\u0020\u0020\u5982\u679C\u63A5\u53E3\u7528\u4E0D\u4E86\u5C31\u8FDB\u7FA4\u63D0\u9192\u6211\u4FEE\u590D\u0020\u0031\u0030\u0032\u0039\u0038\u0033\u0032\u0032\u0032\u0030\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020");
console['\u006C\u006F\u0067']("\u529F\u6210\u52A8\u542F\u52A8\u542F\u624B\u5FEB\u5AD6\u767D".split("").reverse().join(""));
console['\u006C\u006F\u0067']("\uD83D\uDC8E\u0020\u68C0\u6D4B\u5230\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\uFF1A" + accountCount + "\u53F7\u8D26\u4E2A".split("").reverse().join(""));
console['\u006C\u006F\u0067']("\uFF1A\u52A1\u4EFB\u4E0B\u4EE5\u884C\u6267\u5C06 \uDFAF\uD83C".split("").reverse().join("") + tasksToExecute['\u006A\u006F\u0069\u006E'](" ,".split("").reverse().join("")));
console['\u006C\u006F\u0067'](`🎯 配置参数:轮数=${KSROUNDS}, 金币上限=${KSCOIN_LIMIT}, 低奖励阈值=${KSLOW_REWARD_THRESHOLD}, 连续低奖励上限=${KSLOW_REWARD_LIMIT}`);
if (accountCount > (process['\u0065\u006E\u0076']['\u004D\u0041\u0058\u005F\u0043\u004F\u004E\u0043\u0055\u0052\u0052\u0045\u004E\u0043\u0059'] || 999)) {
console['\u006C\u006F\u0067']("\u9519\u8BEF\u003A\u0020\u68C0\u6D4B\u5230\u0020" + accountCount + "\u8BB8\u5141\u53EA\u591A\u6700\uFF0C\u7F6E\u914D\u53F7\u8D26\u4E2A ".split("").reverse().join("") + (process['\u0065\u006E\u0076']['\u004D\u0041\u0058\u005F\u0043\u004F\u004E\u0043\u0055\u0052\u0052\u0045\u004E\u0043\u0059'] || 999) + "\u4E2A");
process['\u0065\u0078\u0069\u0074'](1);
}
function generateKuaishouDid() {
try {
const _0x323bb = length => {
const _0x171e9d = "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u0061\u0062\u0063\u0064\u0065\u0066";
let _0x738d1b = "";
for (let i = 0; i < length; i++) {
_0x738d1b += _0x171e9d['\u0063\u0068\u0061\u0072\u0041\u0074'](Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * _0x171e9d['\u006C\u0065\u006E\u0067\u0074\u0068']));
}
return _0x738d1b;
};
const _0x3ecd6b = _0x323bb(16);
const _0x83fcb = "\u0041\u004E\u0044\u0052\u004F\u0049\u0044\u005F" + _0x3ecd6b;
return _0x83fcb;
} catch (error) {
console['\u006C\u006F\u0067']("\u751F\u6210\u0064\u0069\u0064\u5931\u8D25\u003A\u0020" + error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']);
const _0x33b33f = Date['\u006E\u006F\u0077']()['\u0074\u006F\u0053\u0074\u0072\u0069\u006E\u0067'](16)['\u0074\u006F\u0055\u0070\u0070\u0065\u0072\u0043\u0061\u0073\u0065']();
return "_DIORDNA".split("").reverse().join("") + _0x33b33f['\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006E\u0067'](0, 16);
}
}
async function sendRequest(requestOptions, proxyUrl = null, description = "\u0055\u006E\u006B\u006E\u006F\u0077\u006E\u0020\u0052\u0065\u0071\u0075\u0065\u0073\u0074") {
const _0x952g4c = {
...requestOptions
};
var _0xe29be = 11;
let _0xdd1de = null;
_0xe29be = "eipjnk".split("").reverse().join("");
if (proxyUrl) {
try {
_0xdd1de = new SocksProxyAgent(proxyUrl);
if (isDevMode) {}
} catch (proxyError) {
console['\u006C\u006F\u0067']("\u005B\u9519\u8BEF\u005D\u0020" + description + "(\u6548\u65E0LRU\u7406\u4EE3 ".split("").reverse().join("") + proxyError['\u006D\u0065\u0073\u0073\u0061\u0067\u0065'] + "\u0029\uFF0C\u5C1D\u8BD5\u76F4\u8FDE\u6A21\u5F0F");
if (isDevMode) {
console['\u006C\u006F\u0067']("\u005B\u8C03\u8BD5\u005D\u0020\u4EE3\u7406\u65E0\u6548\uFF0C\u81EA\u52A8\u5207\u6362\u5230\u76F4\u8FDE\u6A21\u5F0F");
}
}
} else {
if (isDevMode) {
console['\u006C\u006F\u0067']("\u005B\u8C03\u8BD5\u005D\u0020\u672A\u914D\u7F6E\u4EE3\u7406\uFF0C\u4F7F\u7528\u76F4\u8FDE\u6A21\u5F0F");
}
}
if (isDevMode) {
const _0x62e2b = _0x952g4c['\u006D\u0065\u0074\u0068\u006F\u0064'] || "\u0047\u0045\u0054";
}
try {
const _0x19bfa = {
'\u006D\u0065\u0074\u0068\u006F\u0064': _0x952g4c['\u006D\u0065\u0074\u0068\u006F\u0064'] || "\u0047\u0045\u0054",
'\u0075\u0072\u006C': _0x952g4c['\u0075\u0072\u006C'],
"headers": _0x952g4c['\u0068\u0065\u0061\u0064\u0065\u0072\u0073'] || {},
'\u0064\u0061\u0074\u0061': _0x952g4c['\u0062\u006F\u0064\u0079'] || _0x952g4c['\u0066\u006F\u0072\u006D'],
"timeout": _0x952g4c['\u0074\u0069\u006D\u0065\u006F\u0075\u0074'] || 30000,
...(_0xdd1de && {
'\u0068\u0074\u0074\u0070\u0041\u0067\u0065\u006E\u0074': _0xdd1de,
'\u0068\u0074\u0074\u0070\u0073\u0041\u0067\u0065\u006E\u0074': _0xdd1de
})
};
var _0x598bf = 9;
const _0x9f8aba = await axios(_0x19bfa);
_0x598bf = 14;
return {
'\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065': _0x9f8aba,
"body": _0x9f8aba['\u0064\u0061\u0074\u0061']
};
} catch (error) {
if (error['\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065']) {
return {
'\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065': error['\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065'],
'\u0062\u006F\u0064\u0079': null
};
} else if (error['\u0072\u0065\u0071\u0075\u0065\u0073\u0074']) {
if (error['\u006E\u0061\u006D\u0065'] === "\u0041\u0067\u0067\u0072\u0065\u0067\u0061\u0074\u0065\u0045\u0072\u0072\u006F\u0072" && Array['\u0069\u0073\u0041\u0072\u0072\u0061\u0079'](error['\u0065\u0072\u0072\u006F\u0072\u0073'])) {
console['\u006C\u006F\u0067']("\u005B\u8C03\u8BD5\u005D\u0020" + description + "\nrorrEetagerggA :\u8BEF\u9519\u6C42\u8BF7 ".split("").reverse().join("") + error['\u0065\u0072\u0072\u006F\u0072\u0073']['\u006D\u0061\u0070']((err, index) => "[ ".split("").reverse().join("") + index + " ]".split("").reverse().join("") + (err?.message || err))['\u006A\u006F\u0069\u006E']("\u000A"));
} else {}
} else {}
return {
'\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065': null,
"body": null
};
}
}
async function testProxyConnectivity(proxyUrl, description = "\u6D4B\u68C0\u6027\u901A\u8FDE\u7406\u4EE3".split("").reverse().join("")) {
if (!proxyUrl) {
return {
"ok": true,
"msg": "✅ 未配置代理(直连模式)",
'\u0069\u0070': "\u006C\u006F\u0063\u0061\u006C\u0068\u006F\u0073\u0074"
};
}
const {
'\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065': baiduResponse,
"body": baiduResult
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "\u0047\u0045\u0054",
'\u0075\u0072\u006C': "https://httpbin.org/ip",
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"User-Agent": "\u0050\u0072\u006F\u0078\u0079\u0054\u0065\u0073\u0074\u0065\u0072\u002F\u0031\u002E\u0030"
},
"timeout": 8000
}, proxyUrl, description + "\u0020\u2192\u0020\u0062\u0061\u0069\u0064\u0075\u002E\u0063\u006F\u006D");
if (baiduResult) {
return {
'\u006F\u006B': true,
"msg": `✅ SOCKS5代理正常成功访问 baidu.com出口IP: ${baiduResult['\u006F\u0072\u0069\u0067\u0069\u006E']}`,
"ip": baiduResult['\u006F\u0072\u0069\u0067\u0069\u006E']
};
}
}
var _0x9c699e;
const usedProxies = new Set();
_0x9c699e = 7;
async function getAccountBasicInfo(cookie, proxyUrl, accountId = "\u003F", _0x7e4b2d) {
_0x7e4b2d = "tsrif_ediug_mottob=ecruos?ofnIcisab/weivrevo/nrae/ytivitca/aluben/n/tser/moc.uohsiauk.aluben//:sptth".split("").reverse().join("");
const {
"body": result
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "GET",
"url": _0x7e4b2d,
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"Host": "nebula.kuaishou.com",
"\u0055\u0073\u0065\u0072\u002D\u0041\u0067\u0065\u006E\u0074": "kwai-android aegon/3.56.0",
"Cookie": cookie,
"\u0043\u006F\u006E\u0074\u0065\u006E\u0074\u002D\u0054\u0079\u0070\u0065": "application/x-www-form-urlencoded"
},
'\u0074\u0069\u006D\u0065\u006F\u0075\u0074': 12000
}, proxyUrl, "\u8D26\u53F7\u005B" + accountId + "\u005D\u0020\u83B7\u53D6\u57FA\u672C\u4FE1\u606F");
if (result && result['\u0072\u0065\u0073\u0075\u006C\u0074'] === 1 && result['\u0064\u0061\u0074\u0061']) {
return {
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': result['\u0064\u0061\u0074\u0061']['\u0075\u0073\u0065\u0072\u0044\u0061\u0074\u0061']?.nickname || null,
'\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E': result['\u0064\u0061\u0074\u0061']['\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E'] ?? null,
'\u0061\u006C\u006C\u0043\u0061\u0073\u0068': result['\u0064\u0061\u0074\u0061']['\u0061\u006C\u006C\u0043\u0061\u0073\u0068'] ?? null
};
}
return null;
}
function centerAlign(text, width) {
text = String(text);
if (text['\u006C\u0065\u006E\u0067\u0074\u0068'] >= width) {
return text['\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006E\u0067'](0, width);
}
var _0xf19dd;
const _0xg95a = width - text['\u006C\u0065\u006E\u0067\u0074\u0068'];
_0xf19dd = 0;
const _0x899ab = Math['\u0066\u006C\u006F\u006F\u0072'](_0xg95a / 2);
const _0xdc770f = _0xg95a - _0x899ab;
return "\u0020"['\u0072\u0065\u0070\u0065\u0061\u0074'](_0x899ab) + text + "\u0020"['\u0072\u0065\u0070\u0065\u0061\u0074'](_0xdc770f);
}
class KuaishouAdTask {
constructor({
'\u0069\u006E\u0064\u0065\u0078': index,
'\u0073\u0061\u006C\u0074': salt,
'\u0063\u006F\u006F\u006B\u0069\u0065': cookie,
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': nickname = "",
'\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C': proxyUrl = null,
'\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065': tasksToExecute = ["\u0066\u006F\u006F\u0064", "\u0062\u006F\u0078", "\u006C\u006F\u006F\u006B"],
'\u0072\u0065\u006D\u0061\u0072\u006B': remark = ""
}) {
this['\u0069\u006E\u0064\u0065\u0078'] = index;
this['\u0073\u0061\u006C\u0074'] = salt;
this['\u0063\u006F\u006F\u006B\u0069\u0065'] = cookie;
this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065'] = nickname || remark || "\u8D26\u53F7" + index;
this['\u0072\u0065\u006D\u0061\u0072\u006B'] = remark;
this['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'] = proxyUrl;
this['\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074'] = KSCOIN_LIMIT;
this['\u0063\u006F\u0069\u006E\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064'] = false;
this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065'] = tasksToExecute;
this['\u0065\u0078\u0074\u0072\u0061\u0063\u0074\u0043\u006F\u006F\u006B\u0069\u0065\u0049\u006E\u0066\u006F']();
this['\u0068\u0065\u0061\u0064\u0065\u0072\u0073'] = {
"Host": "\u006E\u0065\u0062\u0075\u006C\u0061\u002E\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u002E\u0063\u006F\u006D",
"Connection": "\u006B\u0065\u0065\u0070\u002D\u0061\u006C\u0069\u0076\u0065",
"\u0055\u0073\u0065\u0072\u002D\u0041\u0067\u0065\u006E\u0074": "\u004D\u006F\u007A\u0069\u006C\u006C\u0061\u002F\u0035\u002E\u0030\u0020\u0028\u004C\u0069\u006E\u0075\u0078\u003B\u0020\u0041\u006E\u0064\u0072\u006F\u0069\u0064\u0020\u0031\u0030\u003B\u0020\u004D\u0049\u0020\u0038\u0020\u004C\u0069\u0074\u0065\u0020\u0042\u0075\u0069\u006C\u0064\u002F\u0051\u004B\u0051\u0031\u002E\u0031\u0039\u0030\u0039\u0031\u0030\u002E\u0030\u0030\u0032\u003B\u0020\u0077\u0076\u0029\u0020\u0041\u0070\u0070\u006C\u0065\u0057\u0065\u0062\u004B\u0069\u0074\u002F\u0035\u0033\u0037\u002E\u0033\u0036\u0020\u0028\u004B\u0048\u0054\u004D\u004C\u002C\u0020\u006C\u0069\u006B\u0065\u0020\u0047\u0065\u0063\u006B\u006F\u0029\u0020\u0056\u0065\u0072\u0073\u0069\u006F\u006E\u002F\u0034\u002E\u0030\u0020\u0043\u0068\u0072\u006F\u006D\u0065\u002F\u0038\u0037\u002E\u0030\u002E\u0034\u0032\u0038\u0030\u002E\u0031\u0030\u0031\u0020\u004D\u006F\u0062\u0069\u006C\u0065\u0020\u0053\u0061\u0066\u0061\u0072\u0069\u002F\u0035\u0033\u0037\u002E\u0033\u0036",
'\u0043\u006F\u006F\u006B\u0069\u0065': this['\u0063\u006F\u006F\u006B\u0069\u0065'],
"content-type": "application/json"
};
this['\u0074\u0061\u0073\u006B\u0052\u0065\u0070\u006F\u0072\u0074\u0050\u0061\u0074\u0068'] = "troper/ksat/da/r/tser/".split("").reverse().join("");
this['\u0073\u0074\u0061\u0072\u0074\u0054\u0069\u006D\u0065'] = Date['\u006E\u006F\u0077']();
this['\u0065\u006E\u0064\u0054\u0069\u006D\u0065'] = this['\u0073\u0074\u0061\u0072\u0074\u0054\u0069\u006D\u0065'] - 30000;
this['\u0071\u0075\u0065\u0072\u0079\u0050\u0061\u0072\u0061\u006D\u0073'] = "=revppa&)11 IM(imoaiX=dom".split("").reverse().join("") + this['\u0061\u0070\u0070\u0076\u0065\u0072'] + "=dige&".split("").reverse().join("") + this['\u0065\u0067\u0069\u0064'] + "\u0026\u0064\u0069\u0064\u003D" + this['\u0064\u0069\u0064'];
this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'] = {
'\u0062\u006F\u0078': {
"name": "\u5B9D\u7BB1\u5E7F\u544A",
'\u0062\u0075\u0073\u0069\u006E\u0065\u0073\u0073\u0049\u0064': 606,
"posId": 20346,
'\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064': 100024064,
"requestSceneType": 1,
'\u0074\u0061\u0073\u006B\u0054\u0079\u0070\u0065': 1
},
"look": {
'\u006E\u0061\u006D\u0065': "\u770B\u5E7F\u544A\u5F97\u91D1\u5E01",
'\u0062\u0075\u0073\u0069\u006E\u0065\u0073\u0073\u0049\u0064': 672,
"posId": 24067,
'\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064': 100026367,
'\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u0053\u0063\u0065\u006E\u0065\u0054\u0079\u0070\u0065': 1,
'\u0074\u0061\u0073\u006B\u0054\u0079\u0070\u0065': 1
},
'\u0066\u006F\u006F\u0064': {
'\u006E\u0061\u006D\u0065': "\u996D\u8865\u5E7F\u544A",
'\u0062\u0075\u0073\u0069\u006E\u0065\u0073\u0073\u0049\u0064': 9362,
"posId": 24067,
'\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064': 100026367,
"requestSceneType": 7,
"taskType": 2
}
};
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'] = {};
this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065']['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](taskKey => {
if (this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey]) {
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey] = {
'\u0073\u0075\u0063\u0063\u0065\u0073\u0073': 0,
'\u0066\u0061\u0069\u006C\u0065\u0064': 0,
"totalReward": 0
};
}
});
this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0053\u0074\u0072\u0065\u0061\u006B'] = 0;
this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0054\u0068\u0072\u0065\u0073\u0068\u006F\u006C\u0064'] = KSLOW_REWARD_THRESHOLD;
this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u004C\u0069\u006D\u0069\u0074'] = KSLOW_REWARD_LIMIT;
this['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073'] = false;
this['\u0074\u0061\u0073\u006B\u004C\u0069\u006D\u0069\u0074\u0052\u0065\u0061\u0063\u0068\u0065\u0064'] = {};
this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065']['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](taskKey => {
if (this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey]) {
this['\u0074\u0061\u0073\u006B\u004C\u0069\u006D\u0069\u0074\u0052\u0065\u0061\u0063\u0068\u0065\u0064'][taskKey] = false;
}
});
}
async checkCoinLimit() {
try {
const accountInfo = await getAccountBasicInfo(this['\u0063\u006F\u006F\u006B\u0069\u0065'], this['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], this['\u0069\u006E\u0064\u0065\u0078']);
if (accountInfo && accountInfo['\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E']) {
const currentCoin = parseInt(accountInfo['\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E']);
if (currentCoin >= this['\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074']) {
console['\u006C\u006F\u0067'](`⚠️ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 金币已达 ${currentCoin},超过 ${this['\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074']} 阈值,将停止任务`);
this['\u0063\u006F\u0069\u006E\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064'] = true;
this['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073'] = true;
return true;
}
}
return false;
} catch (error) {
console['\u006C\u006F\u0067'](`账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 金币检查异常: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
return false;
}
}
extractCookieInfo() {
try {
const egidMatch = this['\u0063\u006F\u006F\u006B\u0069\u0065']['\u006D\u0061\u0074\u0063\u0068'](new RegExp('\u0065\u0067\u0069\u0064\u003D\u0028\u005B\u005E\u003B\u005D\u002B\u0029', ""));
var _0x6d5abd;
const didMatch = this['\u0063\u006F\u006F\u006B\u0069\u0065']['\u006D\u0061\u0074\u0063\u0068'](new RegExp(")+];^[(=did".split("").reverse().join(""), ""));
_0x6d5abd = 0;
const userIdMatch = this['\u0063\u006F\u006F\u006B\u0069\u0065']['\u006D\u0061\u0074\u0063\u0068'](new RegExp(")+];^[(=dIresu".split("").reverse().join(""), ""));
const apiStMatch = this['\u0063\u006F\u006F\u006B\u0069\u0065']['\u006D\u0061\u0074\u0063\u0068'](new RegExp('\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u005C\u002E\u0061\u0070\u0069\u005F\u0073\u0074\u003D\u0028\u005B\u005E\u003B\u005D\u002B\u0029', ""));
const appverMatch = this['\u0063\u006F\u006F\u006B\u0069\u0065']['\u006D\u0061\u0074\u0063\u0068'](new RegExp('\u0061\u0070\u0070\u0076\u0065\u0072\u003D\u0028\u005B\u005E\u003B\u005D\u002B\u0029', ""));
this['\u0065\u0067\u0069\u0064'] = egidMatch ? egidMatch[1] : "";
this['\u0064\u0069\u0064'] = didMatch ? didMatch[1] : "";
this['\u0075\u0073\u0065\u0072\u0049\u0064'] = userIdMatch ? userIdMatch[1] : "";
this['\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u0041\u0070\u0069\u0053\u0074'] = apiStMatch ? apiStMatch[1] : "";
this['\u0061\u0070\u0070\u0076\u0065\u0072'] = appverMatch ? appverMatch[1] : "\u0031\u0033\u002E\u0037\u002E\u0032\u0030\u002E\u0031\u0030\u0034\u0036\u0038";
if (!this['\u0065\u0067\u0069\u0064'] || !this['\u0064\u0069\u0064']) {
console['\u006C\u006F\u0067'](`账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} cookie格式可能无 egid 或 did但继续尝试...`);
}
} catch (error) {
console['\u006C\u006F\u0067'](`账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 解析cookie失败: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
}
}
getTaskStats() {
return this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'];
}
printTaskStats() {
console['\u006C\u006F\u0067'](`\n账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 任务执行统计:`);
for (const [taskKey, stats] of Object['\u0065\u006E\u0074\u0072\u0069\u0065\u0073'](this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'])) {
var _0x1083g = 16;
const taskName = this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey]['\u006E\u0061\u006D\u0065'];
_0x1083g = 13;
console['\u006C\u006F\u0067'](` ${taskName}: 成功${stats['\u0073\u0075\u0063\u0063\u0065\u0073\u0073']}次, 失败${stats['\u0066\u0061\u0069\u006C\u0065\u0064']}次, 总奖励${stats['\u0074\u006F\u0074\u0061\u006C\u0052\u0065\u0077\u0061\u0072\u0064']}金币`);
}
}
async retryOperation(operation, description, maxRetries = 3, delay = 2000) {
let attempts = 0;
var _0x2aacbf = 8;
let lastError = null;
_0x2aacbf = "fembkc".split("").reverse().join("");
while (attempts < maxRetries) {
try {
var _0xgc_0xd70 = 3;
const result = await operation();
_0xgc_0xd70 = 8;
if (result) {
return result;
}
lastError = new Error(description + "\u0020\u8FD4\u56DE\u7A7A\u7ED3\u679C");
} catch (error) {
lastError = error;
console['\u006C\u006F\u0067'](`账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ${description} 异常: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
}
attempts++;
if (attempts < maxRetries) {
console['\u006C\u006F\u0067'](`账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ${description} 失败,重试 ${attempts}/${maxRetries}`);
await new Promise(resolve => setTimeout(resolve, delay));
}
}
if (isDevMode && lastError) {}
return null;
}
async getAdInfo(taskConfig) {
try {
const adPath = "\u002F\u0072\u0065\u0073\u0074\u002F\u0065\u002F\u0072\u0065\u0077\u0061\u0072\u0064\u002F\u006D\u0069\u0078\u0065\u0064\u002F\u0061\u0064";
const formData = {
'\u0065\u006E\u0063\u0044\u0061\u0074\u0061': "\u007C\u0065\u006E\u0063\u0044\u0061\u0074\u0061\u007C",
'\u0073\u0069\u0067\u006E': "|sign|",
'\u0063\u0073': "\u0066\u0061\u006C\u0073\u0065",
'\u0063\u006C\u0069\u0065\u006E\u0074\u005F\u006B\u0065\u0079': "2ac2a76d",
"videoModelCrowdTag": "\u0031\u005F\u0032\u0033",
'\u006F\u0073': "android",
"\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u002E\u0061\u0070\u0069\u005F\u0073\u0074": this['\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u0041\u0070\u0069\u0053\u0074'],
"uQaTag": "1##swLdgl:99#ecPp:-9#cmNt:-0#cmHs:-3#cmMnsl:-0"
};
const queryData = {
'\u0065\u0061\u0072\u0070\u0068\u006F\u006E\u0065\u004D\u006F\u0064\u0065': "\u0031",
'\u006D\u006F\u0064': "Xiaomi(23116PN5BC)",
'\u0061\u0070\u0070\u0076\u0065\u0072': this['\u0061\u0070\u0070\u0076\u0065\u0072'],
'\u0069\u0073\u0070': "CUCC",
'\u006C\u0061\u006E\u0067\u0075\u0061\u0067\u0065': "\u007A\u0068\u002D\u0063\u006E",
'\u0075\u0064': this['\u0075\u0073\u0065\u0072\u0049\u0064'],
"did_tag": "\u0030",
'\u006E\u0065\u0074': "\u0057\u0049\u0046\u0049",
'\u006B\u0063\u0076': "\u0031\u0035\u0039\u0039",
'\u0061\u0070\u0070': "\u0030",
'\u006B\u0070\u0066': "\u0041\u004E\u0044\u0052\u004F\u0049\u0044\u005F\u0050\u0048\u004F\u004E\u0045",
"ver": "\u0031\u0031\u002E\u0036",
"android_os": "\u0030",
'\u0062\u006F\u0061\u0072\u0064\u0050\u006C\u0061\u0074\u0066\u006F\u0072\u006D': "pineapple",
'\u006B\u0070\u006E': "NEBULA",
"androidApiLevel": "35",
"country_code": "\u0063\u006E",
'\u0073\u0079\u0073': "ANDROID_15",
'\u0073\u0077': "1080",
'\u0073\u0068': "2400",
'\u0061\u0062\u0069': "\u0061\u0072\u006D\u0036\u0034",
'\u0075\u0073\u0065\u0072\u0052\u0065\u0063\u006F\u0042\u0069\u0074': "\u0030"
};
const requestBody = {
"appInfo": {
'\u0061\u0070\u0070\u0049\u0064': "\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u005F\u006E\u0065\u0062\u0075\u006C\u0061",
'\u006E\u0061\u006D\u0065': "快手极速版",
'\u0070\u0061\u0063\u006B\u0061\u0067\u0065\u004E\u0061\u006D\u0065': "com.kuaishou.nebula",
"version": this['\u0061\u0070\u0070\u0076\u0065\u0072'],
'\u0076\u0065\u0072\u0073\u0069\u006F\u006E\u0043\u006F\u0064\u0065': -1
},
'\u0064\u0065\u0076\u0069\u0063\u0065\u0049\u006E\u0066\u006F': {
'\u006F\u0073\u0054\u0079\u0070\u0065': 1,
"osVersion": "\u0031\u0035",
'\u0064\u0065\u0076\u0069\u0063\u0065\u0049\u0064': this['\u0064\u0069\u0064'],
"screenSize": {
"width": 1080,
"height": 2249
},
'\u0066\u0074\u0074': ""
},
"userInfo": {
"userId": this['\u0075\u0073\u0065\u0072\u0049\u0064'],
"age": 0,
'\u0067\u0065\u006E\u0064\u0065\u0072': ""
},
"impInfo": [{
'\u0070\u0061\u0067\u0065\u0049\u0064': 11101,
'\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064': taskConfig['\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064'],
'\u0061\u0063\u0074\u0069\u006F\u006E': 0,
"browseType": 3,
'\u0069\u006D\u0070\u0045\u0078\u0074\u0044\u0061\u0074\u0061': "\u007B\u007D",
'\u006D\u0065\u0064\u0069\u0061\u0045\u0078\u0074\u0044\u0061\u0074\u0061': "{}"
}]
};
const encodedBody = Buffer['\u0066\u0072\u006F\u006D'](JSON['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079'](requestBody))['\u0074\u006F\u0053\u0074\u0072\u0069\u006E\u0067']("\u0062\u0061\u0073\u0065\u0036\u0034");
let encsign = await this['\u0067\u0065\u0074\u0053\u0069\u0067\u006E'](encodedBody);
formData['\u0065\u006E\u0063\u0044\u0061\u0074\u0061'] = encsign['\u0065\u006E\u0063\u0064\u0061\u0074\u0061'];
formData['\u0073\u0069\u0067\u006E'] = encsign['\u0073\u0069\u0067\u006E'];
let nesig = await this['\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u0053\u0069\u0067\u006E\u0053\u0065\u0072\u0076\u0069\u0063\u0065']({
'\u0075\u0072\u006C\u0070\u0061\u0074\u0068': adPath,
'\u0072\u0065\u0071\u0064\u0061\u0074\u0061': qs['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079'](formData) + "\u0026" + qs['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079'](queryData),
"api_client_salt": this['\u0073\u0061\u006C\u0074']
});
const finalQueryData = {
...queryData,
'\u0073\u0069\u0067': nesig['\u0073\u0069\u0067'],
'\u005F\u005F\u004E\u0053\u005F\u0073\u0069\u0067\u0033': nesig['\u005F\u005F\u004E\u0053\u005F\u0073\u0069\u0067\u0033'],
'\u005F\u005F\u004E\u0053\u005F\u0078\u0066\u0061\u006C\u0063\u006F\u006E': "",
'\u005F\u005F\u004E\u0053\u0074\u006F\u006B\u0065\u006E\u0073\u0069\u0067': nesig['\u005F\u005F\u004E\u0053\u0074\u006F\u006B\u0065\u006E\u0073\u0069\u0067']
};
var _0xda219e = 9;
const url = "\u0068\u0074\u0074\u0070\u0073\u003A\u002F\u002F\u0061\u0070\u0069\u002E\u0065\u002E\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u002E\u0063\u006F\u006D" + adPath + "\u003F" + querystring['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079'](finalQueryData);
_0xda219e = 3;
const {
"response": response,
'\u0062\u006F\u0064\u0079': result
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "\u0050\u004F\u0053\u0054",
'\u0075\u0072\u006C': url,
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"\u0043\u006F\u006E\u0074\u0065\u006E\u0074\u002D\u0054\u0079\u0070\u0065": "\u0061\u0070\u0070\u006C\u0069\u0063\u0061\u0074\u0069\u006F\u006E\u002F\u0078\u002D\u0077\u0077\u0077\u002D\u0066\u006F\u0072\u006D\u002D\u0075\u0072\u006C\u0065\u006E\u0063\u006F\u0064\u0065\u0064\u003B\u0020\u0063\u0068\u0061\u0072\u0073\u0065\u0074\u003D\u0055\u0054\u0046\u002D\u0038",
'\u0048\u006F\u0073\u0074': "api.e.kuaishou.com",
"\u0055\u0073\u0065\u0072\u002D\u0041\u0067\u0065\u006E\u0074": "\u006B\u0077\u0061\u0069\u002D\u0061\u006E\u0064\u0072\u006F\u0069\u0064\u0020\u0061\u0065\u0067\u006F\u006E\u002F\u0033\u002E\u0035\u0036\u002E\u0030",
"Cookie": "=ts_ipa_uohsiauk".split("").reverse().join("") + this['\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u0041\u0070\u0069\u0053\u0074']
},
'\u0066\u006F\u0072\u006D': formData,
"timeout": 12000
}, this['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], `账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 获取广告`);
if (!result) {
return null;
}
if (result['\u0065\u0072\u0072\u006F\u0072\u004D\u0073\u0067'] === "\u004F\u004B" && result['\u0066\u0065\u0065\u0064\u0073'] && result['\u0066\u0065\u0065\u0064\u0073'][0] && result['\u0066\u0065\u0065\u0064\u0073'][0]['\u0061\u0064']) {
const caption = result['\u0066\u0065\u0065\u0064\u0073'][0]['\u0063\u0061\u0070\u0074\u0069\u006F\u006E'] || result['\u0066\u0065\u0065\u0064\u0073'][0]['\u0061\u0064']?.caption || "";
if (caption) {
console['\u006C\u006F\u0067'](`✅ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 成功获取到广告信息:${caption}`);
}
var _0xe47e = 7;
const expTag = result['\u0066\u0065\u0065\u0064\u0073'][0]['\u0065\u0078\u0070\u005F\u0074\u0061\u0067'] || "";
_0xe47e = 6;
const llsid = expTag['\u0073\u0070\u006C\u0069\u0074']("\u002F")[1]?.split("\u005F")?.[0] || "";
return {
'\u0063\u0069\u0064': result['\u0066\u0065\u0065\u0064\u0073'][0]['\u0061\u0064']['\u0063\u0072\u0065\u0061\u0074\u0069\u0076\u0065\u0049\u0064'],
"llsid": llsid
};
}
if (isDevMode) {}
return null;
} catch (error) {
console['\u006C\u006F\u0067'](error);
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 获取广告异常: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
return null;
}
}
async generateSignature(creativeId, llsid, taskKey, taskConfig) {
try {
const bizData = JSON['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079']({
'\u0062\u0075\u0073\u0069\u006E\u0065\u0073\u0073\u0049\u0064': taskConfig['\u0062\u0075\u0073\u0069\u006E\u0065\u0073\u0073\u0049\u0064'],
"endTime": this['\u0065\u006E\u0064\u0054\u0069\u006D\u0065'],
'\u0065\u0078\u0074\u0050\u0061\u0072\u0061\u006D\u0073': "",
"mediaScene": "\u0076\u0069\u0064\u0065\u006F",
'\u006E\u0065\u006F\u0049\u006E\u0066\u006F\u0073': [{
'\u0063\u0072\u0065\u0061\u0074\u0069\u0076\u0065\u0049\u0064': creativeId,
'\u0065\u0078\u0074\u0049\u006E\u0066\u006F': "",
"llsid": llsid,
'\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u0053\u0063\u0065\u006E\u0065\u0054\u0079\u0070\u0065': taskConfig['\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u0053\u0063\u0065\u006E\u0065\u0054\u0079\u0070\u0065'],
'\u0074\u0061\u0073\u006B\u0054\u0079\u0070\u0065': taskConfig['\u0074\u0061\u0073\u006B\u0054\u0079\u0070\u0065'],
"watchExpId": "",
"watchStage": 0
}],
"pageId": 11101,
'\u0070\u006F\u0073\u0049\u0064': taskConfig['\u0070\u006F\u0073\u0049\u0064'],
"reportType": 0,
"sessionId": "",
"startTime": this['\u0073\u0074\u0061\u0072\u0074\u0054\u0069\u006D\u0065'],
'\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064': taskConfig['\u0073\u0075\u0062\u0050\u0061\u0067\u0065\u0049\u0064']
});
var _0x789c1c = 7;
const postData = "\u0062\u0069\u007A\u0053\u0074\u0072\u003D" + encodeURIComponent(bizData) + "\u0026\u0063\u0073\u003D\u0066\u0061\u006C\u0073\u0065\u0026\u0063\u006C\u0069\u0065\u006E\u0074\u005F\u006B\u0065\u0079\u003D\u0032\u0061\u0063\u0032\u0061\u0037\u0036\u0064\u0026\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u002E\u0061\u0070\u0069\u005F\u0073\u0074\u003D" + this['\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u0041\u0070\u0069\u0053\u0074'];
_0x789c1c = 0;
var _0x8ac4cd;
const urlData = this['\u0071\u0075\u0065\u0072\u0079\u0050\u0061\u0072\u0061\u006D\u0073'] + "\u0026" + postData;
_0x8ac4cd = 1;
const signResult = await this['\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u0053\u0069\u0067\u006E\u0053\u0065\u0072\u0076\u0069\u0063\u0065']({
'\u0075\u0072\u006C\u0070\u0061\u0074\u0068': this['\u0074\u0061\u0073\u006B\u0052\u0065\u0070\u006F\u0072\u0074\u0050\u0061\u0074\u0068'],
"reqdata": urlData,
'\u0061\u0070\u0069\u005F\u0063\u006C\u0069\u0065\u006E\u0074\u005F\u0073\u0061\u006C\u0074': this['\u0073\u0061\u006C\u0074']
}, `账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 生成报告签名`);
return {
'\u0073\u0069\u0067': signResult['\u0073\u0069\u0067'],
'\u0073\u0069\u0067\u0033': signResult['\u005F\u005F\u004E\u0053\u005F\u0073\u0069\u0067\u0033'],
"sigtoken": signResult['\u005F\u005F\u004E\u0053\u0074\u006F\u006B\u0065\u006E\u0073\u0069\u0067'],
'\u0070\u006F\u0073\u0074': postData
};
} catch (error) {
console['\u006C\u006F\u0067'](error);
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 生成签名异常: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
return null;
}
}
async submitReport(sig, sig3, sigtoken, postData, taskKey, taskConfig) {
try {
var _0xb4gf = 15;
const url = "\u0068\u0074\u0074\u0070\u0073\u003A\u002F\u002F\u0061\u0070\u0069\u002E\u0065\u002E\u006B\u0075\u0061\u0069\u0073\u0068\u006F\u0075\u002E\u0063\u006F\u006D" + this['\u0074\u0061\u0073\u006B\u0052\u0065\u0070\u006F\u0072\u0074\u0050\u0061\u0074\u0068'] + "\u003F" + (this['\u0071\u0075\u0065\u0072\u0079\u0050\u0061\u0072\u0061\u006D\u0073'] + "=gis&".split("").reverse().join("") + sig + "\u0026\u005F\u005F\u004E\u0053\u005F\u0073\u0069\u0067\u0033\u003D" + sig3 + "=gisnekotSN__&=noclafx_SN__&".split("").reverse().join("") + sigtoken);
_0xb4gf = 6;
const {
"response": response,
'\u0062\u006F\u0064\u0079': result
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "\u0050\u004F\u0053\u0054",
'\u0075\u0072\u006C': url,
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
'\u0048\u006F\u0073\u0074': "api.e.kuaishou.cn",
"User-Agent": "\u006B\u0077\u0061\u0069\u002D\u0061\u006E\u0064\u0072\u006F\u0069\u0064\u0020\u0061\u0065\u0067\u006F\u006E\u002F\u0033\u002E\u0035\u0036\u002E\u0030",
"Content-Type": "application/x-www-form-urlencoded"
},
'\u0062\u006F\u0064\u0079': postData,
'\u0074\u0069\u006D\u0065\u006F\u0075\u0074': 12000
}, this['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], `账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 提交任务`);
if (!result) {
return {
"success": false,
"reward": 0
};
}
if (result['\u0072\u0065\u0073\u0075\u006C\u0074'] === 1) {
const reward = result['\u0064\u0061\u0074\u0061']?.neoAmount || 0;
console['\u006C\u006F\u0067'](`💰 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ${taskConfig['\u006E\u0061\u006D\u0065']}获得${reward}金币奖励!`);
if (reward <= this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0054\u0068\u0072\u0065\u0073\u0068\u006F\u006C\u0064']) {
this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0053\u0074\u0072\u0065\u0061\u006B']++;
this['\u0064\u0069\u0064'] = generateKuaishouDid();
console['\u006C\u006F\u0067'](`⚠️ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 金币奖励(${reward})低于阈值(${this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0054\u0068\u0072\u0065\u0073\u0068\u006F\u006C\u0064']}),模拟下载应用提升权重,当前连续低奖励次数:${this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0053\u0074\u0072\u0065\u0061\u006B']}/${this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u004C\u0069\u006D\u0069\u0074']}`);
if (this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0053\u0074\u0072\u0065\u0061\u006B'] >= this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u004C\u0069\u006D\u0069\u0074']) {
console['\u006C\u006F\u0067'](`🏁 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 连续${this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u004C\u0069\u006D\u0069\u0074']}次奖励≤${this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0054\u0068\u0072\u0065\u0073\u0068\u006F\u006C\u0064']},停止全部任务`);
this['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073'] = true;
}
} else {
this['\u006C\u006F\u0077\u0052\u0065\u0077\u0061\u0072\u0064\u0053\u0074\u0072\u0065\u0061\u006B'] = 0;
}
return {
'\u0073\u0075\u0063\u0063\u0065\u0073\u0073': true,
'\u0072\u0065\u0077\u0061\u0072\u0064': reward
};
}
if ([20107, 20108, 1003, 415]['\u0069\u006E\u0063\u006C\u0075\u0064\u0065\u0073'](result['\u0072\u0065\u0073\u0075\u006C\u0074'])) {
console['\u006C\u006F\u0067'](`⚠️ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ${taskConfig['\u006E\u0061\u006D\u0065']} 已达上限`);
this['\u0074\u0061\u0073\u006B\u004C\u0069\u006D\u0069\u0074\u0052\u0065\u0061\u0063\u0068\u0065\u0064'][taskKey] = true;
return {
'\u0073\u0075\u0063\u0063\u0065\u0073\u0073': false,
"reward": 0
};
}
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ${taskConfig['\u006E\u0061\u006D\u0065']} 奖励失败result=${result['\u0072\u0065\u0073\u0075\u006C\u0074']} msg=${result['\u0064\u0061\u0074\u0061'] || ""}`);
if (isDevMode) {}
return {
'\u0073\u0075\u0063\u0063\u0065\u0073\u0073': false,
"reward": 0
};
} catch (error) {
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 提交任务异常: ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
return {
"success": false,
'\u0072\u0065\u0077\u0061\u0072\u0064': 0
};
}
}
async getSign(requestData) {
try {
const {
"response": response,
"body": result
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "\u0050\u004F\u0053\u0054",
'\u0075\u0072\u006C': "\u0068\u0074\u0074\u0070\u0073\u003A\u002F\u002F\u006B\u0073\u002E\u0079\u0075\u0062\u0069\u006E\u0038\u002E\u0064\u0070\u0064\u006E\u0073\u002E\u006F\u0072\u0067\u002F\u0065\u006E\u0063\u0073\u0069\u0067\u006E",
"body": JSON['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079']({
'\u0064\u0061\u0074\u0061': requestData
}),
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"Content-Type": "\u0061\u0070\u0070\u006C\u0069\u0063\u0061\u0074\u0069\u006F\u006E\u002F\u006A\u0073\u006F\u006E"
}
});
if (result['\u0073\u0074\u0061\u0074\u0075\u0073']) {
return result['\u0064\u0061\u0074\u0061'];
}
} catch (error) {}
}
async requestSignService(requestData, description) {
let returnData = {};
var _0x4e92ab = 11;
let newreqdata = {
"path": requestData['\u0075\u0072\u006C\u0070\u0061\u0074\u0068'],
"data": requestData['\u0072\u0065\u0071\u0064\u0061\u0074\u0061'],
'\u0073\u0061\u006C\u0074': requestData['\u0061\u0070\u0069\u005F\u0063\u006C\u0069\u0065\u006E\u0074\u005F\u0073\u0061\u006C\u0074']
};
_0x4e92ab = 8;
const {
'\u0072\u0065\u0073\u0070\u006F\u006E\u0073\u0065': response,
"body": result
} = await sendRequest({
'\u006D\u0065\u0074\u0068\u006F\u0064': "\u0050\u004F\u0053\u0054",
'\u0075\u0072\u006C': "\u0068\u0074\u0074\u0070\u0073\u003A\u002F\u002F\u006B\u0073\u002E\u0079\u0075\u0062\u0069\u006E\u0038\u002E\u0064\u0070\u0064\u006E\u0073\u002E\u006F\u0072\u0067\u002F\u006E\u0073\u0073\u0069\u0067",
'\u0068\u0065\u0061\u0064\u0065\u0072\u0073': {
"Content-Type": "\u0061\u0070\u0070\u006C\u0069\u0063\u0061\u0074\u0069\u006F\u006E\u002F\u006A\u0073\u006F\u006E",
"\u0055\u0073\u0065\u0072\u002D\u0041\u0067\u0065\u006E\u0074": "\u004D\u006F\u007A\u0069\u006C\u006C\u0061\u002F\u0035\u002E\u0030"
},
'\u0062\u006F\u0064\u0079': JSON['\u0073\u0074\u0072\u0069\u006E\u0067\u0069\u0066\u0079'](newreqdata),
'\u0074\u0069\u006D\u0065\u006F\u0075\u0074': 15000
}, null, description + "\uFF09\u52A1\u670D\u540D\u7B7E\uFF08".split("").reverse().join(""));
if (result) {
var _0xde18ec = 6;
let __NS_sig3 = result['\u0064\u0061\u0074\u0061']['\u006E\u0073\u0073\u0069\u0067\u0033'];
_0xde18ec = 10;
var _0xe2037c = 12;
let __NStokensig = result['\u0064\u0061\u0074\u0061']['\u006E\u0073\u0074\u006F\u006B\u0065\u006E\u0073\u0069\u0067'];
_0xe2037c = 8;
Object['\u0061\u0073\u0073\u0069\u0067\u006E'](returnData, {
'\u005F\u005F\u004E\u0053\u005F\u0073\u0069\u0067\u0033': __NS_sig3,
"__NStokensig": __NStokensig,
"sig": result['\u0064\u0061\u0074\u0061']['\u0073\u0069\u0067']
});
return returnData;
}
}
async executeTask(taskKey) {
var _0x881f = 2;
const taskConfig = this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey];
_0x881f = 12;
if (!taskConfig) {
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 未知任务: ${taskKey}`);
return false;
}
if (this['\u0074\u0061\u0073\u006B\u004C\u0069\u006D\u0069\u0074\u0052\u0065\u0061\u0063\u0068\u0065\u0064'][taskKey]) {
return false;
}
try {
const adInfo = await this['\u0072\u0065\u0074\u0072\u0079\u004F\u0070\u0065\u0072\u0061\u0074\u0069\u006F\u006E'](() => this['\u0067\u0065\u0074\u0041\u0064\u0049\u006E\u0066\u006F'](taskConfig), `获取${taskConfig['\u006E\u0061\u006D\u0065']}信息`, 3);
if (!adInfo) {
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0066\u0061\u0069\u006C\u0065\u0064']++;
return false;
}
const watchTime = Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * 10000) + 30000;
console['\u006C\u006F\u0067'](`🔍 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ==>${taskConfig['\u006E\u0061\u006D\u0065']} ${generateRandomInteractionMessage()} ${Math['\u0072\u006F\u0075\u006E\u0064'](watchTime / 1000)}`);
await new Promise(resolve => setTimeout(resolve, watchTime));
const signature = await this['\u0072\u0065\u0074\u0072\u0079\u004F\u0070\u0065\u0072\u0061\u0074\u0069\u006F\u006E'](() => this['\u0067\u0065\u006E\u0065\u0072\u0061\u0074\u0065\u0053\u0069\u0067\u006E\u0061\u0074\u0075\u0072\u0065'](adInfo['\u0063\u0069\u0064'], adInfo['\u006C\u006C\u0073\u0069\u0064'], taskKey, taskConfig), `生成${taskConfig['\u006E\u0061\u006D\u0065']}签名`, 3);
if (!signature) {
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0066\u0061\u0069\u006C\u0065\u0064']++;
return false;
}
const submitResult = await this['\u0072\u0065\u0074\u0072\u0079\u004F\u0070\u0065\u0072\u0061\u0074\u0069\u006F\u006E'](() => this['\u0073\u0075\u0062\u006D\u0069\u0074\u0052\u0065\u0070\u006F\u0072\u0074'](signature['\u0073\u0069\u0067'], signature['\u0073\u0069\u0067\u0033'], signature['\u0073\u0069\u0067\u0074\u006F\u006B\u0065\u006E'], signature['\u0070\u006F\u0073\u0074'], taskKey, taskConfig), `提交${taskConfig['\u006E\u0061\u006D\u0065']}报告`, 3);
if (submitResult?.success) {
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0073\u0075\u0063\u0063\u0065\u0073\u0073']++;
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0074\u006F\u0074\u0061\u006C\u0052\u0065\u0077\u0061\u0072\u0064'] += submitResult['\u0072\u0065\u0077\u0061\u0072\u0064'] || 0;
return true;
}
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0066\u0061\u0069\u006C\u0065\u0064']++;
return false;
} catch (error) {
console['\u006C\u006F\u0067'](`❌ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 任务异常(${taskKey}): ${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
this['\u0074\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'][taskKey]['\u0066\u0061\u0069\u006C\u0065\u0064']++;
return false;
}
}
async executeAllTasksByPriority() {
const results = {};
for (const taskKey of this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065']) {
if (this['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073']) {
break;
}
if (!this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey]) {
console['\u006C\u006F\u0067'](`⚠️ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 跳过未知任务: ${taskKey}`);
continue;
}
console['\u006C\u006F\u0067'](`🚀 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 开始任务:${this['\u0074\u0061\u0073\u006B\u0043\u006F\u006E\u0066\u0069\u0067\u0073'][taskKey]['\u006E\u0061\u006D\u0065']}`);
results[taskKey] = await this['\u0065\u0078\u0065\u0063\u0075\u0074\u0065\u0054\u0061\u0073\u006B'](taskKey);
if (this['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073']) {
break;
}
if (taskKey !== this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065'][this['\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065']['\u006C\u0065\u006E\u0067\u0074\u0068'] - 1]) {
const waitTime = Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * 8000) + 7000;
console['\u006C\u006F\u0067'](`⏱ 账号[${this['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${this['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + this['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 下一个任务,随机等待 ${Math['\u0072\u006F\u0075\u006E\u0064'](waitTime / 1000)}`);
await new Promise(resolve => setTimeout(resolve, waitTime));
}
}
return results;
}
}
function parseAccountConfig(configString, _0x759fb, _0xbc9d5a, _0x82fd) {
var _0x2419fe = 5;
const _0x3cb9f = String(configString || "")['\u0074\u0072\u0069\u006D']()['\u0073\u0070\u006C\u0069\u0074']("\u0023");
_0x2419fe = "lddokk".split("").reverse().join("");
if (_0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] < 2) {
return null;
}
_0x759fb = "";
var _0x2_0x3f8 = 11;
_0xbc9d5a = "";
_0x2_0x3f8 = 15;
var _0xd64f;
_0x82fd = "";
_0xd64f = "eihhkd".split("").reverse().join("");
let _0x86336d = null;
if (_0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] === 2) {
_0xbc9d5a = _0x3cb9f[0];
_0x82fd = _0x3cb9f[1];
} else if (_0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] === 3) {
if (new RegExp('\u0073\u006F\u0063\u006B\u0073\u0035\u003A\u005C\u002F\u005C\u002F', '\u0069')['\u0074\u0065\u0073\u0074'](_0x3cb9f[2])) {
_0xbc9d5a = _0x3cb9f[0];
_0x82fd = _0x3cb9f[1];
_0x86336d = _0x3cb9f[2];
} else {
_0x759fb = _0x3cb9f[0];
_0xbc9d5a = _0x3cb9f[1];
_0x82fd = _0x3cb9f[2];
}
} else if (_0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] >= 4) {
_0x759fb = _0x3cb9f[0];
_0xbc9d5a = _0x3cb9f[1];
_0x82fd = _0x3cb9f['\u0073\u006C\u0069\u0063\u0065'](2, _0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] - 1)['\u006A\u006F\u0069\u006E']("\u0023");
_0x86336d = _0x3cb9f[_0x3cb9f['\u006C\u0065\u006E\u0067\u0074\u0068'] - 1];
}
if (_0x86336d) {
if (_0x86336d['\u0069\u006E\u0063\u006C\u0075\u0064\u0065\u0073']("\u007C")) {
console['\u006C\u006F\u0067'](`开始解析代理格式: ${_0x86336d}`);
var _0xed21a;
const _0x818c = _0x86336d['\u0073\u0070\u006C\u0069\u0074']("\u007C");
_0xed21a = 9;
if (_0x818c['\u006C\u0065\u006E\u0067\u0074\u0068'] >= 2) {
const [ip, port, username, password] = _0x818c;
_0x86336d = `socks5://${username}:${password}@${ip}:${port}`;
} else {
_0x86336d = null;
console['\u006C\u006F\u0067'](`⚠️ 代理字段格式错误,忽略:${_0x86336d}`);
}
} else if (!new RegExp("/\\/\\:5skcos^".split("").reverse().join(""), '\u0069')['\u0074\u0065\u0073\u0074'](_0x86336d)) {
console['\u006C\u006F\u0067'](`⚠️ 代理字段不是 socks5:// URL忽略${_0x86336d}`);
_0x86336d = null;
}
}
return {
'\u0072\u0065\u006D\u0061\u0072\u006B': _0x759fb || "",
'\u0073\u0061\u006C\u0074': _0x82fd,
'\u0063\u006F\u006F\u006B\u0069\u0065': _0xbc9d5a,
"proxyUrl": _0x86336d
};
}
function loadAccountsFromEnv() {
var _0x4398af = 10;
const _0xcd_0xa84 = getAccountConfigsFromEnv();
_0x4398af = 11;
var _0xfc72a;
const _0x707e7a = [];
_0xfc72a = 9;
for (const _0xc2bb5g of _0xcd_0xa84) {
const _0xbdg = parseAccountConfig(_0xc2bb5g);
if (_0xbdg) {
_0x707e7a['\u0070\u0075\u0073\u0068'](_0xbdg);
} else {
console['\u006C\u006F\u0067'](`账号格式错误:${_0xc2bb5g}`);
}
}
_0x707e7a['\u0066\u006F\u0072\u0045\u0061\u0063\u0068']((account, index) => {
account['\u0069\u006E\u0064\u0065\u0078'] = index + 1;
});
return _0x707e7a;
}
async function concurrentExecute(items, concurrency, processor, _0x625a) {
const _0x945d9e = new Array(items['\u006C\u0065\u006E\u0067\u0074\u0068']);
_0x625a = 0;
async function _0x4_0x7f2() {
while (true) {
var _0x2c5d = 5;
const _0x51c6ab = _0x625a++;
_0x2c5d = "ladajf".split("").reverse().join("");
if (_0x51c6ab >= items['\u006C\u0065\u006E\u0067\u0074\u0068']) {
return;
}
var _0xd2gb = 13;
const _0xfa2f = items[_0x51c6ab];
_0xd2gb = 7;
try {
_0x945d9e[_0x51c6ab] = await processor(_0xfa2f, _0x51c6ab);
} catch (error) {
console['\u006C\u006F\u0067'](`并发执行异常index=${_0x51c6ab + 1}${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
_0x945d9e[_0x51c6ab] = null;
}
}
}
const _0x48dbb = Array['\u0066\u0072\u006F\u006D']({
"length": Math['\u006D\u0069\u006E'](concurrency, items['\u006C\u0065\u006E\u0067\u0074\u0068'])
}, _0x4_0x7f2);
await Promise['\u0061\u006C\u006C'](_0x48dbb);
return _0x945d9e;
}
async function processAccount(accountConfig) {
if (accountConfig['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C']) {
console['\u006C\u006F\u0067'](`账号[${accountConfig['\u0069\u006E\u0064\u0065\u0078']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 🔌 测试代理连接中...`);
var _0x9f9c;
const _0xd6g = await testProxyConnectivity(accountConfig['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], `账号[${accountConfig['\u0069\u006E\u0064\u0065\u0078']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""}`);
_0x9f9c = 12;
console['\u006C\u006F\u0067'](` - ${_0xd6g['\u006F\u006B'] ? "\u2705\u0020\u4EE3\u7406\u9A8C\u8BC1\u901A\u8FC7\uFF0C\u0049\u0050\u003A\u0020" + _0xd6g['\u0069\u0070'] : "\u8D25\u5931\u8BC1\u9A8C\u7406\u4EE3 \u274C".split("").reverse().join("")}: ${_0xd6g['\u006D\u0073\u0067']}`);
if (_0xd6g['\u006F\u006B'] && _0xd6g['\u0069\u0070'] && _0xd6g['\u0069\u0070'] !== "tsohlacol".split("").reverse().join("")) {
if (usedProxies['\u0068\u0061\u0073'](_0xd6g['\u0069\u0070'])) {
console['\u006C\u006F\u0067'](`\n⚠️ 存在相同代理IP${_0xd6g['\u0069\u0070']}),请立即检查!`);
process['\u0065\u0078\u0069\u0074'](1);
}
usedProxies['\u0061\u0064\u0064'](_0xd6g['\u0069\u0070']);
}
} else {
console['\u006C\u006F\u0067'](`账号[${accountConfig['\u0069\u006E\u0064\u0065\u0078']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 未配置代理,走直连`);
}
console['\u006C\u006F\u0067'](`账号[${accountConfig['\u0069\u006E\u0064\u0065\u0078']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 🔍 获取账号信息中...`);
var _0xb9c3eb;
let _0x5c8e = await getAccountBasicInfo(accountConfig['\u0063\u006F\u006F\u006B\u0069\u0065'], accountConfig['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], accountConfig['\u0069\u006E\u0064\u0065\u0078']);
_0xb9c3eb = 3;
var _0x3f_0x4ff;
let _0xe3eb7c = _0x5c8e?.nickname || "\u53F7\u8D26".split("").reverse().join("") + accountConfig['\u0069\u006E\u0064\u0065\u0078'];
_0x3f_0x4ff = 1;
if (_0x5c8e) {
const _0xc8a = _0x5c8e['\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E'] != null ? _0x5c8e['\u0074\u006F\u0074\u0061\u006C\u0043\u006F\u0069\u006E'] : "\u672A\u77E5";
var _0x7dde;
const _0x9a_0x111 = _0x5c8e['\u0061\u006C\u006C\u0043\u0061\u0073\u0068'] != null ? _0x5c8e['\u0061\u006C\u006C\u0043\u0061\u0073\u0068'] : "\u77E5\u672A".split("").reverse().join("");
_0x7dde = 17;
console['\u006C\u006F\u0067'](`账号[${_0xe3eb7c}] ✅ 登录成功,💰 当前金币: ${_0xc8a},💸 当前余额: ${_0x9a_0x111}`);
} else {
console['\u006C\u006F\u0067'](`账号[${_0xe3eb7c}] ❌ 基本信息获取失败,继续执行`);
}
const _0xg361ge = new KuaishouAdTask({
...accountConfig,
"nickname": _0xe3eb7c,
'\u0074\u0061\u0073\u006B\u0073\u0054\u006F\u0045\u0078\u0065\u0063\u0075\u0074\u0065': tasksToExecute
});
await _0xg361ge['\u0063\u0068\u0065\u0063\u006B\u0043\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074']();
if (_0xg361ge['\u0063\u006F\u0069\u006E\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064']) {
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 初始金币已超过阈值,不执行任务`);
const finalAccountInfo = await getAccountBasicInfo(accountConfig['\u0063\u006F\u006F\u006B\u0069\u0065'], accountConfig['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], accountConfig['\u0069\u006E\u0064\u0065\u0078']);
const initialCoin = _0x5c8e?.totalCoin || 0;
var _0xbf00df;
const finalCoin = finalAccountInfo?.totalCoin || 0;
_0xbf00df = 7;
const coinChange = finalCoin - initialCoin;
const initialCash = _0x5c8e?.allCash || 0;
const finalCash = finalAccountInfo?.allCash || 0;
const cashChange = finalCash - initialCash;
return {
'\u0069\u006E\u0064\u0065\u0078': accountConfig['\u0069\u006E\u0064\u0065\u0078'],
'\u0072\u0065\u006D\u0061\u0072\u006B': accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] || "\u6CE8\u5907\u65E0".split("").reverse().join(""),
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': _0xe3eb7c,
'\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u006F\u0069\u006E': initialCoin,
"finalCoin": finalCoin,
'\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065': coinChange,
'\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u0061\u0073\u0068': initialCash,
'\u0066\u0069\u006E\u0061\u006C\u0043\u0061\u0073\u0068': finalCash,
'\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065': cashChange,
'\u0073\u0074\u0061\u0074\u0073': _0xg361ge['\u0067\u0065\u0074\u0054\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'](),
"coinLimitExceeded": true
};
}
for (let _0xf4861d = 0; _0xf4861d < KSROUNDS; _0xf4861d++) {
const _0x5bad5e = Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * 8000) + 8000;
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ⌛ 第${_0xf4861d + 1}轮,先随机等待 ${Math['\u0072\u006F\u0075\u006E\u0064'](_0x5bad5e / 1000)}`);
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 🚀 开始第${_0xf4861d + 1}轮任务`);
const _0x5ce2a = await _0xg361ge['\u0065\u0078\u0065\u0063\u0075\u0074\u0065\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073\u0042\u0079\u0050\u0072\u0069\u006F\u0072\u0069\u0074\u0079']();
if (Object['\u0076\u0061\u006C\u0075\u0065\u0073'](_0x5ce2a)['\u0073\u006F\u006D\u0065'](Boolean)) {
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ✅ 第${_0xf4861d + 1}轮执行完成`);
} else {
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ⚠️ 第${_0xf4861d + 1}轮没有成功任务`);
}
if (_0xg361ge['\u0073\u0074\u006F\u0070\u0041\u006C\u006C\u0054\u0061\u0073\u006B\u0073']) {
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} 🏁 达到停止条件,终止后续轮次`);
break;
}
if (_0xf4861d < KSROUNDS - 1) {
const _0xc4f = Math['\u0066\u006C\u006F\u006F\u0072'](Math['\u0072\u0061\u006E\u0064\u006F\u006D']() * 10000) + 10000;
console['\u006C\u006F\u0067'](`账号[${_0xg361ge['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065']}]${accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ⌛ 等待 ${Math['\u0072\u006F\u0075\u006E\u0064'](_0xc4f / 1000)} 秒进入下一轮`);
await new Promise(resolve => setTimeout(resolve, _0xc4f));
}
}
var _0x36156d = 15;
const finalAccountInfo = await getAccountBasicInfo(accountConfig['\u0063\u006F\u006F\u006B\u0069\u0065'], accountConfig['\u0070\u0072\u006F\u0078\u0079\u0055\u0072\u006C'], accountConfig['\u0069\u006E\u0064\u0065\u0078']);
_0x36156d = 5;
const initialCoin = _0x5c8e?.totalCoin || 0;
var _0x325e;
const finalCoin = finalAccountInfo?.totalCoin || 0;
_0x325e = 14;
const coinChange = finalCoin - initialCoin;
const initialCash = _0x5c8e?.allCash || 0;
var _0xa43gd;
const finalCash = finalAccountInfo?.allCash || 0;
_0xa43gd = 7;
const cashChange = finalCash - initialCash;
_0xg361ge['\u0070\u0072\u0069\u006E\u0074\u0054\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073']();
return {
'\u0069\u006E\u0064\u0065\u0078': accountConfig['\u0069\u006E\u0064\u0065\u0078'],
"remark": accountConfig['\u0072\u0065\u006D\u0061\u0072\u006B'] || "\u65E0\u5907\u6CE8",
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': _0xe3eb7c,
"initialCoin": initialCoin,
'\u0066\u0069\u006E\u0061\u006C\u0043\u006F\u0069\u006E': finalCoin,
'\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065': coinChange,
'\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u0061\u0073\u0068': initialCash,
'\u0066\u0069\u006E\u0061\u006C\u0043\u0061\u0073\u0068': finalCash,
'\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065': cashChange,
"stats": _0xg361ge['\u0067\u0065\u0074\u0054\u0061\u0073\u006B\u0053\u0074\u0061\u0074\u0073'](),
'\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064': _0xg361ge['\u0063\u006F\u0069\u006E\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064']
};
}
function printAccountsSummary(accountResults, _0x5aeca, _0xb2e, _0x228g, _0xd34a, _0x10_0x4b8) {
if (!accountResults['\u006C\u0065\u006E\u0067\u0074\u0068']) {
console['\u006C\u006F\u0067']("\u000A\u6CA1\u6709\u53EF\u663E\u793A\u7684\u8D26\u53F7\u4FE1\u606F\u3002");
return;
}
const _0xb5ec = accountResults['\u0072\u0065\u0064\u0075\u0063\u0065']((sum, account) => {
return sum + (parseInt(account['\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u006F\u0069\u006E']) || 0);
}, 0);
var _0xb3a = 6;
const _0x28da4e = accountResults['\u0072\u0065\u0064\u0075\u0063\u0065']((sum, account) => {
return sum + (parseInt(account['\u0066\u0069\u006E\u0061\u006C\u0043\u006F\u0069\u006E']) || 0);
}, 0);
_0xb3a = 13;
const _0x89a13g = _0x28da4e - _0xb5ec;
const _0x8_0xffc = accountResults['\u0072\u0065\u0064\u0075\u0063\u0065']((sum, account) => {
return sum + (parseFloat(account['\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u0061\u0073\u0068']) || 0);
}, 0);
var _0x215g = 7;
const _0xfe_0xe26 = accountResults['\u0072\u0065\u0064\u0075\u0063\u0065']((sum, account) => {
return sum + (parseFloat(account['\u0066\u0069\u006E\u0061\u006C\u0043\u0061\u0073\u0068']) || 0);
}, 0);
_0x215g = 10;
var _0x34ccf = 11;
const _0xaa16eb = _0xfe_0xe26 - _0x8_0xffc;
_0x34ccf = 12;
var _0xf88dce = 16;
_0x5aeca = 0;
_0xf88dce = 4;
_0xb2e = 0;
var _0xd9e;
_0x228g = 0;
_0xd9e = 15;
accountResults['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](account => {
if (account['\u0073\u0074\u0061\u0074\u0073']) {
Object['\u0076\u0061\u006C\u0075\u0065\u0073'](account['\u0073\u0074\u0061\u0074\u0073'])['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](stat => {
_0x5aeca += stat['\u0073\u0075\u0063\u0063\u0065\u0073\u0073'] + stat['\u0066\u0061\u0069\u006C\u0065\u0064'];
_0xb2e += stat['\u0073\u0075\u0063\u0063\u0065\u0073\u0073'];
_0x228g += stat['\u0074\u006F\u0074\u0061\u006C\u0052\u0065\u0077\u0061\u0072\u0064'];
});
}
});
var _0xcbcg1b = 12;
const _0x9_0xc66 = _0x5aeca > 0 ? (_0xb2e / _0x5aeca * 100)['\u0074\u006F\u0046\u0069\u0078\u0065\u0064'](1) : "\u0030\u002E\u0030";
_0xcbcg1b = 13;
var _0x7b_0xef5 = 7;
const _0x55dc2a = accountResults['\u0066\u0069\u006C\u0074\u0065\u0072'](account => account['\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064'])['\u006C\u0065\u006E\u0067\u0074\u0068'];
_0x7b_0xef5 = 6;
console['\u006C\u006F\u0067']("\n\n".split("").reverse().join("") + "\u003D"['\u0072\u0065\u0070\u0065\u0061\u0074'](80));
console['\u006C\u006F\u0067']("\u007C" + centerAlign(" \u8868\u603B\u6C47\u679C\u7ED3\u884C\u6267\u52A1\u4EFB\u53F7\u517B\u624B\u5FEB ".split("").reverse().join(""), 78) + "\u007C");
console['\u006C\u006F\u0067']("\u003D"['\u0072\u0065\u0070\u0065\u0061\u0074'](80));
console['\u006C\u006F\u0067']("\u007C" + ("\u603B\u8D26\u53F7\u6570\u003A\u0020" + accountResults['\u006C\u0065\u006E\u0067\u0074\u0068'])['\u0070\u0061\u0064\u0045\u006E\u0064'](22) + ("\u8D85\u8FC7\u91D1\u5E01\u9608\u503C\u8D26\u53F7\u003A\u0020" + _0x55dc2a)['\u0070\u0061\u0064\u0045\u006E\u0064'](22) + ("\u603B\u4EFB\u52A1\u6570\u003A\u0020" + _0x5aeca)['\u0070\u0061\u0064\u0045\u006E\u0064'](22) + ("\u4EFB\u52A1\u6210\u529F\u7387\u003A\u0020" + _0x9_0xc66 + "\u0025")['\u0070\u0061\u0064\u0045\u006E\u0064'](10) + "\u007C");
console['\u006C\u006F\u0067']("\u007C" + ("\u603B\u91D1\u5E01\u53D8\u5316\u003A\u0020" + _0x89a13g)['\u0070\u0061\u0064\u0045\u006E\u0064'](26) + ("\u603B\u91D1\u5E01\u5956\u52B1\u003A\u0020" + _0x228g)['\u0070\u0061\u0064\u0045\u006E\u0064'](26) + ("\u603B\u4F59\u989D\u53D8\u5316\u003A\u0020" + _0xaa16eb['\u0074\u006F\u0046\u0069\u0078\u0065\u0064'](2))['\u0070\u0061\u0064\u0045\u006E\u0064'](24) + "\u007C");
console['\u006C\u006F\u0067']("\u002D"['\u0072\u0065\u0070\u0065\u0061\u0074'](80));
const _0xg669bf = ["\u5E8F\u53F7", "\u6CE8\u5907".split("").reverse().join(""), "\u79F0\u6635\u53F7\u8D26".split("").reverse().join(""), "\u521D\u59CB\u91D1\u5E01", "\u5E01\u91D1\u7EC8\u6700".split("").reverse().join(""), "\u91D1\u5E01\u53D8\u5316", "\u521D\u59CB\u4F59\u989D", "\u6700\u7EC8\u4F59\u989D", "\u4F59\u989D\u53D8\u5316"];
const _0xd286a = [6, 16, 16, 12, 12, 12, 12, 12, 12];
var _0xa2e52d = 13;
_0xd34a = "\u007C";
_0xa2e52d = 2;
_0xg669bf['\u0066\u006F\u0072\u0045\u0061\u0063\u0068']((header, index) => {
_0xd34a += centerAlign(header, _0xd286a[index]) + "\u007C";
});
console['\u006C\u006F\u0067'](_0xd34a);
_0x10_0x4b8 = "\u007C";
_0xd286a['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](width => {
_0x10_0x4b8 += "\u002D"['\u0072\u0065\u0070\u0065\u0061\u0074'](width) + "\u007C";
});
console['\u006C\u006F\u0067'](_0x10_0x4b8);
accountResults['\u0066\u006F\u0072\u0045\u0061\u0063\u0068'](account => {
var _0xbd_0x5b7;
let _0xc03bea = "\u007C";
_0xbd_0x5b7 = 1;
_0xc03bea += centerAlign(account['\u0069\u006E\u0064\u0065\u0078'], _0xd286a[0]) + "\u007C";
_0xc03bea += centerAlign(account['\u0072\u0065\u006D\u0061\u0072\u006B'], _0xd286a[1]) + "\u007C";
var _0xd68eeg = 16;
const _0xd75a = (account['\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065'] || "\u002D") + (account['\u0063\u006F\u0069\u006E\u004C\u0069\u006D\u0069\u0074\u0045\u0078\u0063\u0065\u0065\u0064\u0065\u0064'] ? "\uFE0F\u26A0 ".split("").reverse().join("") : "");
_0xd68eeg = 3;
_0xc03bea += centerAlign(_0xd75a['\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006E\u0067'](0, _0xd286a[2] - 2), _0xd286a[2]) + "\u007C";
_0xc03bea += centerAlign(account['\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u006F\u0069\u006E'], _0xd286a[3]) + "\u007C";
_0xc03bea += centerAlign(account['\u0066\u0069\u006E\u0061\u006C\u0043\u006F\u0069\u006E'], _0xd286a[4]) + "\u007C";
var _0x1d74a = 4;
const _0x49edbe = account['\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065'] >= 0 ? "\u002B" + account['\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065'] : account['\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065'];
_0x1d74a = 7;
_0xc03bea += centerAlign(_0x49edbe, _0xd286a[5]) + "\u007C";
_0xc03bea += centerAlign(account['\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u0061\u0073\u0068'], _0xd286a[6]) + "\u007C";
_0xc03bea += centerAlign(account['\u0066\u0069\u006E\u0061\u006C\u0043\u0061\u0073\u0068'], _0xd286a[7]) + "\u007C";
const _0x6bbc = account['\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065'] >= 0 ? "\u002B" + account['\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065']['\u0074\u006F\u0046\u0069\u0078\u0065\u0064'](2) : account['\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065']['\u0074\u006F\u0046\u0069\u0078\u0065\u0064'](2);
_0xc03bea += centerAlign(_0x6bbc, _0xd286a[8]) + "\u007C";
console['\u006C\u006F\u0067'](_0xc03bea);
});
console['\u006C\u006F\u0067']("\u003D"['\u0072\u0065\u0070\u0065\u0061\u0074'](80));
console['\u006C\u006F\u0067']("\u007C" + centerAlign("\u0020\u0020\u0020\u0020\u0020\u0020\u4EFB\u52A1\u6267\u884C\u5B8C\u6210\uFF0C\u8BF7\u67E5\u770B\u8BE6\u7EC6\u7ED3\u679C\u0020\u0020\u0020\u0020\u0020\u0020", 78) + "\u007C");
console['\u006C\u006F\u0067']("\u003D"['\u0072\u0065\u0070\u0065\u0061\u0074'](80));
}
(async () => {
const accounts = loadAccountsFromEnv();
console['\u006C\u006F\u0067'](`共找到 ${accounts['\u006C\u0065\u006E\u0067\u0074\u0068']} 个有效账号`);
if (!accounts['\u006C\u0065\u006E\u0067\u0074\u0068']) {
process['\u0065\u0078\u0069\u0074'](1);
}
var _0xbdea;
const maxConcurrency = getEnvNumber("\u004D\u0041\u0058\u005F\u0043\u004F\u004E\u0043\u0055\u0052\u0052\u0045\u004E\u0043\u0059", 888);
_0xbdea = 8;
console['\u006C\u006F\u0067'](`\n防黑并发:${maxConcurrency} 防黑轮数:${KSROUNDS}\n`);
const results = [];
await concurrentExecute(accounts, maxConcurrency, async account => {
console['\u006C\u006F\u0067'](`\n—— 🚀 开始账号[${account['\u0069\u006E\u0064\u0065\u0078']}]${account['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + account['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ——`);
try {
var _0x5e_0xcc6 = 11;
const result = await processAccount(account);
_0x5e_0xcc6 = 11;
results['\u0070\u0075\u0073\u0068']({
'\u0069\u006E\u0064\u0065\u0078': account['\u0069\u006E\u0064\u0065\u0078'],
'\u0072\u0065\u006D\u0061\u0072\u006B': account['\u0072\u0065\u006D\u0061\u0072\u006B'] || "\u65E0\u5907\u6CE8",
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': result?.nickname || `账号${account['\u0069\u006E\u0064\u0065\u0078']}`,
'\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u006F\u0069\u006E': result?.initialCoin || 0,
"finalCoin": result?.finalCoin || 0,
"coinChange": result?.coinChange || 0,
"initialCash": result?.initialCash || 0,
"finalCash": result?.finalCash || 0,
"cashChange": result?.cashChange || 0,
'\u0073\u0074\u0061\u0074\u0073': result?.stats || {},
"coinLimitExceeded": result?.coinLimitExceeded || false
});
} catch (error) {
console['\u006C\u006F\u0067'](`账号[${account['\u0069\u006E\u0064\u0065\u0078']}]${account['\u0072\u0065\u006D\u0061\u0072\u006B'] ? "\uFF08" + account['\u0072\u0065\u006D\u0061\u0072\u006B'] + "\uFF09" : ""} ❌ 执行异常:${error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']}`);
results['\u0070\u0075\u0073\u0068']({
'\u0069\u006E\u0064\u0065\u0078': account['\u0069\u006E\u0064\u0065\u0078'],
'\u0072\u0065\u006D\u0061\u0072\u006B': account['\u0072\u0065\u006D\u0061\u0072\u006B'] || "\u65E0\u5907\u6CE8",
'\u006E\u0069\u0063\u006B\u006E\u0061\u006D\u0065': `账号${account['\u0069\u006E\u0064\u0065\u0078']}`,
'\u0069\u006E\u0069\u0074\u0069\u0061\u006C\u0043\u006F\u0069\u006E': 0,
"finalCoin": 0,
'\u0063\u006F\u0069\u006E\u0043\u0068\u0061\u006E\u0067\u0065': 0,
"initialCash": 0,
'\u0066\u0069\u006E\u0061\u006C\u0043\u0061\u0073\u0068': 0,
'\u0063\u0061\u0073\u0068\u0043\u0068\u0061\u006E\u0067\u0065': 0,
'\u0065\u0072\u0072\u006F\u0072': error['\u006D\u0065\u0073\u0073\u0061\u0067\u0065']
});
}
});
results['\u0073\u006F\u0072\u0074']((a, b) => a['\u0069\u006E\u0064\u0065\u0078'] - b['\u0069\u006E\u0064\u0065\u0078']);
console['\u006C\u006F\u0067']("\u3002\u6210\u5B8C\u90E8\u5168\n".split("").reverse().join(""), "\u2705");
console['\u006C\u006F\u0067']("---------------------------------------------- \u603B\u6C47\u606F\u4FE1\u53F7\u8D26 ----------------------------------------------\n".split("").reverse().join(""));
printAccountsSummary(results);
})();