在逆向的过程中函数调用层层嵌套,需要我们不断的鼠标蹭蹭蹭,是否有办法减少一些无聊的力气活让我们专注于加密逻辑呢?
以下面一段解混淆后的代码为例:
这段代码的需要解出sign的加密,不使用脚本则需要一个函数一个函数的扣取。
现在我们使用脚本则只需要找到生成sign值的入口函数即可,剩下的扣代码环节则交给脚本执行。
这里可以很明显的看出sign值是由____ej(w())生成的,而w()则是个定值“1744608664”,所以我们的入口函数就是____ej("1744608664"),接下来只需要把入口函数写入想要加载到的文件,运行脚本即可
(function () {
var ____bb = function () {
var ____be = !![];
return function (____zn, ____zo) {
var ____bh = ____be ? function () {
if (____zo) {
var ____br = ____zo["apply"](____zn, arguments);
____zo = null;
return ____br;
}
} : function () {
};
____be = ![];
return ____bh;
};
}();
window["z"] = function _0x5a0e17(___bjv, ___bjw) {
return ____ej(w());
};
window["w"] = function _0x4059ae(___bjx, ___bjy) {
try {
div = document["createElement"];
return "1744608664";
} catch (_0x3f0257) {
return "1581503057419";
}
};
function ____bs(____es, ____et) {
var ____bt = (65535 & ____es) + (65535 & ____et);
return (____es >> 16) + (____et >> 16) + (____bt >> 16) << 16 | 65535 & ____bt;
}
function ____bu(____eu, ____ev) {
}
function ____ch(____fs, ____ft, ____fu, ____fv, ____fw, ____fx, ____fy) {
try {
nav = navigator["language"];
nav = navigator["languages"];
nav = navigator["onLine"];
nav = navigator["platform"];
nav = navigator["product"];
nav = navigator["productSub"];
return ____bs(____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) << ____fx | ____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) >>> 32 - ____fx, ____ft);
} catch (_0x1c530b) {
return ____bs(____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) << ____ft | ____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) >>> 32 - ____ft, ____de);
}
}
function ____co(____gg, ____gh) {
try {
check_screen = screen["availHeight"];
return "gn = window.z(window.w())";
} catch (_0x5d4606) {
return "gn = window.m(window.k())";
}
}
function ____cs(____gi, ____gj) {
____gi[____gj >> 5] |= 128 << ____gj % 32;
____gi[14 + (____gj + 64 >>> 9 << 4)] = ____gj;
var ____ct;
var ____cu;
var ____cv;
var ____cw;
var ____cx;
var ____cy = 1732584193;
var ____cz = -271733879;
var ____da = -1732584194;
var ____db = 271733878;
for (____ct = 0; ____ct < ____gi["length"]; ____ct += 16) {
____cu = ____cy;
____cv = ____cz;
____cw = ____da;
____cx = ____db;
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) >>> 32 - 20, ____da);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 5], 4, -378558);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 8], 11, -2022574463);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 11], 16, 1839030562);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 14], 23, -35309556);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 1], 4, -1530992060);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 4], 11, 1272893353);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 7], 16, -155497632);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 10], 23, -1094730640);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 13], 4, 681279174);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct], 11, -358537222);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 3], 16, -722521979);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 6], 23, 76029189);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 9], 4, -640364487);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 12], 11, -421815835);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 15], 16, 530742520);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 2], 23, -995338651);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) >>> 32 - 21, ____da);
____cy = ____bs(____cy, ____cu);
____cz = ____bs(____cz, ____cv);
____da = ____bs(____da, ____cw);
____db = ____bs(____db, ____cx);
}
return [____cy, ____cz, ____da, ____db];
}
function ____de(____gm) {
var ____df;
var ____dg = "";
var ____dh = 32 * ____gm["length"];
for (____df = 0; ____df < ____dh; ____df += 8) ____dg += String["fromCharCode"](____gm[____df >> 5] >>> ____df % 32 & 255);
return ____dg;
}
function ____di(____gn) {
var ____dj;
var ____dk = [];
for (____dk[(____gn["length"] >> 2) - 1] = void 0, ____dj = 0; ____dj < ____dk["length"]; ____dj += 1) ____dk[____dj] = 0;
var ____dl = 8 * ____gn["length"];
for (____dj = 0; ____dj < ____dl; ____dj += 8) ____dk[____dj >> 5] |= (255 & ____gn["charCodeAt"](____dj / 8)) << ____dj % 32;
return ____dk;
}
function ____dn(____gp, ____gq) {
(function () {
____bb(this, function () {
var ____dw = new RegExp("function *\\( *\\)");
var ____dx = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", "i");
var ____dy = ____ek("init");
if (!____dw["test"](____dy + "chain") || !____dx["test"](____dy + "input")) {
____dy("0");
} else {
____ek();
}
})();
})();
return "win";
}
function ____dz(____gr) {
var ____ea;
var ____eb;
var ____ec = "0123456789abcdef";
var ____ed = "";
for (____eb = 0; ____eb < ____gr["length"]; ____eb += 1) {
____ea = ____gr["charCodeAt"](____eb);
____ed += ____ec["charAt"](____ea >>> 4 & 15) + ____ec["charAt"](15 & ____ea);
}
return ____ed;
}
function ____eh(____gt) {
return ____de(____cs(____di(unescape(encodeURIComponent(____gt))), 8 * unescape(encodeURIComponent(____gt))["length"]));
}
function ____ej(____gv, ____gw, ____gx) {
try {
nav = navigator["userAgent"];
return ____gw ? ____gx ? ____dn(____gw, ____gv) : ____co(____gw, ____gv) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])) : ____dz(____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])));
} catch (_0x51a6bb) {
return ____gw ? ____gx : ____dn(____gw, _0x51a6bb) ? ____bs(____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) << ____ge | ____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) >>> 32 - ____ge, _0x51a6bb) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(_0x51a6bb))), 8 * unescape(encodeURIComponent(_0x51a6bb))["length"])) : k(_0x51a6bb);
}
}
eval(____dn() + "dow.si" + ____co());
})();
function ____ek(____gy) {
function ____en(____gz) {
if (typeof ____gz === "string") {
return function (___bob) {
}["constructor"]("while (true) {}")["apply"]("counter");
} else {
if (("" + ____gz / ____gz)["length"] !== 1 || ____gz % 20 === 0) {
(function () {
return !![];
})["constructor"]("debugger")["call"]("action");
} else {
(function () {
return ![];
})["constructor"]("debugger")["apply"]("stateObject");
}
}
____en(++____gz);
}
try {
if (____gy) {
return ____en;
} else {
____en(0);
}
} catch (_0x2d857b) {
}
}
(function () {
var ____bb = function () {
var ____be = !![];
return function (____zn, ____zo) {
var ____bh = ____be ? function () {
if (____zo) {
var ____br = ____zo["apply"](____zn, arguments);
____zo = null;
return ____br;
}
} : function () {
};
____be = ![];
return ____bh;
};
}();
window["z"] = function _0x5a0e17(___bjv, ___bjw) {
return ____ej(w());
};
window["w"] = function _0x4059ae(___bjx, ___bjy) {
try {
div = document["createElement"];
return "1744608664";
} catch (_0x3f0257) {
return "1581503057419";
}
};
function ____bs(____es, ____et) {
var ____bt = (65535 & ____es) + (65535 & ____et);
return (____es >> 16) + (____et >> 16) + (____bt >> 16) << 16 | 65535 & ____bt;
}
function ____bu(____eu, ____ev) {
}
function ____ch(____fs, ____ft, ____fu, ____fv, ____fw, ____fx, ____fy) {
try {
nav = navigator["language"];
nav = navigator["languages"];
nav = navigator["onLine"];
nav = navigator["platform"];
nav = navigator["product"];
nav = navigator["productSub"];
return ____bs(____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) << ____fx | ____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) >>> 32 - ____fx, ____ft);
} catch (_0x1c530b) {
return ____bs(____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) << ____ft | ____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) >>> 32 - ____ft, ____de);
}
}
function ____co(____gg, ____gh) {
try {
check_screen = screen["availHeight"];
return "gn = window.z(window.w())";
} catch (_0x5d4606) {
return "gn = window.m(window.k())";
}
}
function ____cs(____gi, ____gj) {
____gi[____gj >> 5] |= 128 << ____gj % 32;
____gi[14 + (____gj + 64 >>> 9 << 4)] = ____gj;
var ____ct;
var ____cu;
var ____cv;
var ____cw;
var ____cx;
var ____cy = 1732584193;
var ____cz = -271733879;
var ____da = -1732584194;
var ____db = 271733878;
for (____ct = 0; ____ct < ____gi["length"]; ____ct += 16) {
____cu = ____cy;
____cv = ____cz;
____cw = ____da;
____cx = ____db;
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) >>> 32 - 20, ____da);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 5], 4, -378558);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 8], 11, -2022574463);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 11], 16, 1839030562);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 14], 23, -35309556);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 1], 4, -1530992060);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 4], 11, 1272893353);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 7], 16, -155497632);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 10], 23, -1094730640);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 13], 4, 681279174);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct], 11, -358537222);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 3], 16, -722521979);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 6], 23, 76029189);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 9], 4, -640364487);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 12], 11, -421815835);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 15], 16, 530742520);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 2], 23, -995338651);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) >>> 32 - 21, ____da);
____cy = ____bs(____cy, ____cu);
____cz = ____bs(____cz, ____cv);
____da = ____bs(____da, ____cw);
____db = ____bs(____db, ____cx);
}
return [____cy, ____cz, ____da, ____db];
}
function ____de(____gm) {
var ____df;
var ____dg = "";
var ____dh = 32 * ____gm["length"];
for (____df = 0; ____df < ____dh; ____df += 8) ____dg += String["fromCharCode"](____gm[____df >> 5] >>> ____df % 32 & 255);
return ____dg;
}
function ____di(____gn) {
var ____dj;
var ____dk = [];
for (____dk[(____gn["length"] >> 2) - 1] = void 0, ____dj = 0; ____dj < ____dk["length"]; ____dj += 1) ____dk[____dj] = 0;
var ____dl = 8 * ____gn["length"];
for (____dj = 0; ____dj < ____dl; ____dj += 8) ____dk[____dj >> 5] |= (255 & ____gn["charCodeAt"](____dj / 8)) << ____dj % 32;
return ____dk;
}
function ____dn(____gp, ____gq) {
(function () {
____bb(this, function () {
var ____dw = new RegExp("function *\\( *\\)");
var ____dx = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", "i");
var ____dy = ____ek("init");
if (!____dw["test"](____dy + "chain") || !____dx["test"](____dy + "input")) {
____dy("0");
} else {
____ek();
}
})();
})();
return "win";
}
function ____dz(____gr) {
var ____ea;
var ____eb;
var ____ec = "0123456789abcdef";
var ____ed = "";
for (____eb = 0; ____eb < ____gr["length"]; ____eb += 1) {
____ea = ____gr["charCodeAt"](____eb);
____ed += ____ec["charAt"](____ea >>> 4 & 15) + ____ec["charAt"](15 & ____ea);
}
return ____ed;
}
function ____eh(____gt) {
return ____de(____cs(____di(unescape(encodeURIComponent(____gt))), 8 * unescape(encodeURIComponent(____gt))["length"]));
}
function ____ej(____gv, ____gw, ____gx) {
try {
nav = navigator["userAgent"];
return ____gw ? ____gx ? ____dn(____gw, ____gv) : ____co(____gw, ____gv) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])) : ____dz(____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])));
} catch (_0x51a6bb) {
return ____gw ? ____gx : ____dn(____gw, _0x51a6bb) ? ____bs(____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) << ____ge | ____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) >>> 32 - ____ge, _0x51a6bb) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(_0x51a6bb))), 8 * unescape(encodeURIComponent(_0x51a6bb))["length"])) : k(_0x51a6bb);
}
}
eval(____dn() + "dow.si" + ____co());
})();
function ____ek(____gy) {
function ____en(____gz) {
if (typeof ____gz === "string") {
return function (___bob) {
}["constructor"]("while (true) {}")["apply"]("counter");
} else {
if (("" + ____gz / ____gz)["length"] !== 1 || ____gz % 20 === 0) {
(function () {
return !![];
})["constructor"]("debugger")["call"]("action");
} else {
(function () {
return ![];
})["constructor"]("debugger")["apply"]("stateObject");
}
}
____en(++____gz);
}
try {
if (____gy) {
return ____en;
} else {
____en(0);
}
} catch (_0x2d857b) {
}
}
代码如下(示例):
const { AutoFillCodeTool } = require('../../ast_tools/main.js')
const autoFillCodeTool = new AutoFillCodeTool('./decrypt3.js','./output4.js') //第一个参数为入口函数写入文件,第二个参数为源码文件
autoFillCodeTool.fill() //执行自动扣取代码
function ____dz(____gr) {
var ____ea;
var ____eb;
var ____ec = "0123456789abcdef";
var ____ed = "";
for (____eb = 0; ____eb < ____gr["length"]; ____eb += 1) {
____ea = ____gr["charCodeAt"](____eb);
____ed += ____ec["charAt"](____ea >>> 4 & 15) + ____ec["charAt"](15 & ____ea);
}
return ____ed;
}
function ____di(____gn) {
var ____dj;
var ____dk = [];
for (____dk[(____gn["length"] >> 2) - 1] = void 0, ____dj = 0; ____dj < ____dk["length"]; ____dj += 1) ____dk[____dj] = 0;
var ____dl = 8 * ____gn["length"];
for (____dj = 0; ____dj < ____dl; ____dj += 8) ____dk[____dj >> 5] |= (255 & ____gn["charCodeAt"](____dj / 8)) << ____dj % 32;
return ____dk;
}
function ____eh(____gt) {
return ____de(____cs(____di(unescape(encodeURIComponent(____gt))), 8 * unescape(encodeURIComponent(____gt))["length"]));
}
function ____bu(____eu, ____ev) {
}
function ____ch(____fs, ____ft, ____fu, ____fv, ____fw, ____fx, ____fy) {
try {
nav = navigator["language"];
nav = navigator["languages"];
nav = navigator["onLine"];
nav = navigator["platform"];
nav = navigator["product"];
nav = navigator["productSub"];
return ____bs(____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) << ____fx | ____bs(____bs(____fs, ____ft ^ ____fu ^ ____fv), ____bs(____fw, ____fy)) >>> 32 - ____fx, ____ft);
} catch (_0x1c530b) {
return ____bs(____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) << ____ft | ____bs(____bs(____ej, ____fy ^ z ^ ____bu), ____bs(____fw, ____eh)) >>> 32 - ____ft, ____de);
}
}
function ____bs(____es, ____et) {
var ____bt = (65535 & ____es) + (65535 & ____et);
return (____es >> 16) + (____et >> 16) + (____bt >> 16) << 16 | 65535 & ____bt;
}
function ____cs(____gi, ____gj) {
____gi[____gj >> 5] |= 128 << ____gj % 32;
____gi[14 + (____gj + 64 >>> 9 << 4)] = ____gj;
var ____ct;
var ____cu;
var ____cv;
var ____cw;
var ____cx;
var ____cy = 1732584193;
var ____cz = -271733879;
var ____da = -1732584194;
var ____db = 271733878;
for (____ct = 0; ____ct < ____gi["length"]; ____ct += 16) {
____cu = ____cy;
____cv = ____cz;
____cw = ____da;
____cx = ____db;
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct], -680876936)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 1], -389564586)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 2], 606105819)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 3], -1044525330)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 4], -176418897)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 5], 1200080426)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 6], -1473231341)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 7], -45705983)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 8], 1770035416)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 9], -1958414417)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 10], -42063)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 11], -1990404162)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) << 7 | ____bs(____bs(____cy, ____cz & ____da | ~____cz & ____db), ____bs(____gi[____ct + 12], 1804603682)) >>> 32 - 7, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) << 12 | ____bs(____bs(____db, ____cy & ____cz | ~____cy & ____da), ____bs(____gi[____ct + 13], -40341101)) >>> 32 - 12, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) << 17 | ____bs(____bs(____da, ____db & ____cy | ~____db & ____cz), ____bs(____gi[____ct + 14], -4213658665150173000)) >>> 32 - 17, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) << 22 | ____bs(____bs(____cz, ____da & ____db | ~____da & ____cy), ____bs(____gi[____ct + 15], 1236535329)) >>> 32 - 22, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 1], -165796510)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 6], -1069501632)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 11], 643717713)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct], -373897302)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 5], -701558691)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 10], 38016083)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 15], -660478335)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 4], -405537848)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 9], 568446438)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 14], -1019803690)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 3], -187363961)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 8], 1163531501)) >>> 32 - 20, ____da);
____cy = ____bs(____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) << 5 | ____bs(____bs(____cy, ____cz & ____db | ____da & ~____db), ____bs(____gi[____ct + 13], -1444681467)) >>> 32 - 5, ____cz);
____db = ____bs(____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) << 9 | ____bs(____bs(____db, ____cy & ____da | ____cz & ~____da), ____bs(____gi[____ct + 2], -51403784)) >>> 32 - 9, ____cy);
____da = ____bs(____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) << 14 | ____bs(____bs(____da, ____db & ____cz | ____cy & ~____cz), ____bs(____gi[____ct + 7], 1735328473)) >>> 32 - 14, ____db);
____cz = ____bs(____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) << 20 | ____bs(____bs(____cz, ____da & ____cy | ____db & ~____cy), ____bs(____gi[____ct + 12], -1926607734)) >>> 32 - 20, ____da);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 5], 4, -378558);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 8], 11, -2022574463);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 11], 16, 1839030562);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 14], 23, -35309556);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 1], 4, -1530992060);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 4], 11, 1272893353);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 7], 16, -155497632);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 10], 23, -1094730640);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 13], 4, 681279174);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct], 11, -358537222);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 3], 16, -722521979);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 6], 23, 76029189);
____cy = ____ch(____cy, ____cz, ____da, ____db, ____gi[____ct + 9], 4, -640364487);
____db = ____ch(____db, ____cy, ____cz, ____da, ____gi[____ct + 12], 11, -421815835);
____da = ____ch(____da, ____db, ____cy, ____cz, ____gi[____ct + 15], 16, 530742520);
____cz = ____ch(____cz, ____da, ____db, ____cy, ____gi[____ct + 2], 23, -995338651);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct], -198630844)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 7], 1126891415)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 14], -1416354905)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 5], -57434055)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 12], 1700485571)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 3], -1894986606)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 10], -1051523)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 1], -2054922799)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 8], 1873313359)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 15], -30611744)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 6], -1560198380)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 13], 1309151649)) >>> 32 - 21, ____da);
____cy = ____bs(____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) << 6 | ____bs(____bs(____cy, ____da ^ (____cz | ~____db)), ____bs(____gi[____ct + 4], -145523070)) >>> 32 - 6, ____cz);
____db = ____bs(____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) << 10 | ____bs(____bs(____db, ____cz ^ (____cy | ~____da)), ____bs(____gi[____ct + 11], -1120210379)) >>> 32 - 10, ____cy);
____da = ____bs(____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) << 15 | ____bs(____bs(____da, ____cy ^ (____db | ~____cz)), ____bs(____gi[____ct + 2], 718787259)) >>> 32 - 15, ____db);
____cz = ____bs(____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) << 21 | ____bs(____bs(____cz, ____db ^ (____da | ~____cy)), ____bs(____gi[____ct + 9], -343485441)) >>> 32 - 21, ____da);
____cy = ____bs(____cy, ____cu);
____cz = ____bs(____cz, ____cv);
____da = ____bs(____da, ____cw);
____db = ____bs(____db, ____cx);
}
return [____cy, ____cz, ____da, ____db];
}
function ____de(____gm) {
var ____df;
var ____dg = "";
var ____dh = 32 * ____gm["length"];
for (____df = 0; ____df < ____dh; ____df += 8) ____dg += String["fromCharCode"](____gm[____df >> 5] >>> ____df % 32 & 255);
return ____dg;
}
function ____co(____gg, ____gh) {
try {
check_screen = screen["availHeight"];
return "gn = window.z(window.w())";
} catch (_0x5d4606) {
return "gn = window.m(window.k())";
}
}
function ____ek(____gy) {
function ____en(____gz) {
if (typeof ____gz === "string") {
return function (___bob) {
}["constructor"]("while (true) {}")["apply"]("counter");
} else {
if (("" + ____gz / ____gz)["length"] !== 1 || ____gz % 20 === 0) {
(function () {
return !![];
})["constructor"]("debugger")["call"]("action");
} else {
(function () {
return ![];
})["constructor"]("debugger")["apply"]("stateObject");
}
}
____en(++____gz);
}
try {
if (____gy) {
return ____en;
} else {
____en(0);
}
} catch (_0x2d857b) {
}
}
var ____bb = function () {
var ____be = !![];
return function (____zn, ____zo) {
var ____bh = ____be ? function () {
if (____zo) {
var ____br = ____zo["apply"](____zn, arguments);
____zo = null;
return ____br;
}
} : function () {
};
____be = ![];
return ____bh;
};
}();
function ____dn(____gp, ____gq) {
(function () {
____bb(this, function () {
var ____dw = new RegExp("function *\\( *\\)");
var ____dx = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", "i");
var ____dy = ____ek("init");
if (!____dw["test"](____dy + "chain") || !____dx["test"](____dy + "input")) {
____dy("0");
} else {
____ek();
}
})();
})();
return "win";
}
function ____ej(____gv, ____gw, ____gx) {
try {
nav = navigator["userAgent"];
return ____gw ? ____gx ? ____dn(____gw, ____gv) : ____co(____gw, ____gv) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])) : ____dz(____de(____cs(____di(unescape(encodeURIComponent(____gv))), 8 * unescape(encodeURIComponent(____gv))["length"])));
} catch (_0x51a6bb) {
return ____gw ? ____gx : ____dn(____gw, _0x51a6bb) ? ____bs(____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) << ____ge | ____bs(____bs(____gw, ____gb ^ (_0x51a6bb | ~____gc)), ____bs(____gd, ____gf)) >>> 32 - ____ge, _0x51a6bb) : ____gx ? ____de(____cs(____di(unescape(encodeURIComponent(_0x51a6bb))), 8 * unescape(encodeURIComponent(_0x51a6bb))["length"])) : k(_0x51a6bb);
}
}
const sign = ____ej("111");
代码如下(示例):
const fs = require("fs");//文件读写
const parse = require("@babel/parser"); //解析为ast
const traverse = require('@babel/traverse').default;//遍历节点
const t = require('@babel/types');
//类型
const generator = require('@babel/generator').default;//ast解析为代码
window = global
const AutoFillCodeTool = function (fill_path, dependent_path) {
this.parserOptions = {
sourceType: 'unambiguous',
plugins: ['jsx'],
tokens: true, // 确保包含tokens
ranges: true
};
this.fill_path = fill_path
this.dependent_path = dependent_path
this.required_fill_ast = parse.parse(fs.readFileSync(this.fill_path, "utf-8",this.parserOptions))
this.dependent_ast = parse.parse(fs.readFileSync(this.dependent_path, "utf-8",this.parserOptions))
}
AutoFillCodeTool.prototype.refresh_code = function () {
const code = generator(this.required_fill_ast, {
compact: true,
retainLines: true,
comments: true // 保留注释
}).code;
// 重新解析时保持tokens选项
this.required_fill_ast = parse.parse(code, {
sourceType: 'unambiguous',
plugins: ['jsx'],
tokens: true, // 保持tokens存在
ranges: true
});
}
AutoFillCodeTool.prototype.fill = function (times) {
const dependent_library = {}
const fill_library = {}
traverse(this.dependent_ast, {
'VariableDeclarator|FunctionDeclaration'(path) {
if (t.isVariableDeclarator(path.node)) {
const name = path.node.id.name
const binding = path.scope.getBinding(name)
if (!binding || binding.constantViolations.length !== 0) return;
dependent_library[name] = t.variableDeclaration(path.parent.kind, [t.cloneNode(path.node)])
} else if (t.isFunctionDeclaration(path.node)) {
const name = path.node.id.name
const binding = path.scope.getBinding(name)
if (!binding || binding.constantViolations.length !== 0) return;
dependent_library[name] = t.cloneNode(path.node)
}
}
})
if (!times) {
times = 100
}
// console.log(111)
let isbool = false
for (let i = 0; i < times; i++) {
isbool = true
try {
// console.log(111)
this.refresh_code()
traverse(this.required_fill_ast, {
'VariableDeclarator|FunctionDeclaration'(path) {
if (t.isVariableDeclarator(path.node)) {
const name = path.node.id.name
fill_library[name] = 1
} else if (t.isFunctionDeclaration(path.node)) {
const name = path.node.id.name
fill_library[name] = 1
}
}
})
let fill_ast_body = []
traverse(this.required_fill_ast, {
Identifier(path) {
if(!isbool)return;
if (Object.keys(dependent_library).indexOf(path.node.name) === -1) return;
if (Object.keys(fill_library).indexOf(path.node.name) !== -1) return;
console.log(path.node.name)
fill_ast_body.push(dependent_library[path.node.name])
isbool = false
// console.log(generator(dependent_library[path.node.name]).code)
}
})
this.required_fill_ast.program.body.unshift(...fill_ast_body)
this.refresh_code()
} catch
(e) {
console.log("填充失败")
}
}
// console.log(generator(this.required_fill_ast).code)
const output = generator(this.required_fill_ast, {
retainLines: true,
compact: true,
comments: true,
}).code;
fs.writeFileSync(this.fill_path, output, 'utf-8');
}
module.exports = {
AutoFillCodeTool
}
由于脚本未经迭代,所以问题会比较多;
有任何问题都可以来群聊找我,群号:753925077,欢迎志同道合的朋友,一起学习共同进步。我一定知无不言言无不尽