mangle-js-webpack-plugin
Version:
支持3种加密算法: `aaencode` `jjencode` `obfuscator JS`(默认)
75 lines (70 loc) • 2.93 kB
JavaScript
function aaencode(text) {
var t;
var b = [
"(c^_^o)",
"(゚Θ゚)",
"((o^_^o) - (゚Θ゚))",
"(o^_^o)",
"(゚ー゚)",
"((゚ー゚) + (゚Θ゚))",
"((o^_^o) +(o^_^o))",
"((゚ー゚) + (o^_^o))",
"((゚ー゚) + (゚ー゚))",
"((゚ー゚) + (゚ー゚) + (゚Θ゚))",
"(゚Д゚) .゚ω゚ノ",
"(゚Д゚) .゚Θ゚ノ",
"(゚Д゚) ['c']",
"(゚Д゚) .゚ー゚ノ",
"(゚Д゚) .゚Д゚ノ",
"(゚Д゚) [゚Θ゚]"
];
var r = "゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); ";
if (/ひだまりスケッチ×(365|356)\s*来週も見てくださいね[!!]/.test(text)) {
r += "X=_=3; ";
r += "\r\n\r\n X / _ / X < \"来週も見てくださいね!\";\r\n\r\n";
}
r += "(゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);" +
"(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] " +
",゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] " +
",゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];" +
"(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];" +
"(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];" +
"(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + " +
"((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+" +
"((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+" +
"((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+" +
"((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];" +
"(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+" +
"((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+" +
"((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; " +
"(゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\\\'; " +
"(゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];" +
"(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];" + //TODO
"(゚Д゚) [゚o゚]='\\\"';" +
"(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+";
r += "(゚Д゚)[゚o゚]+ ";
for (var i = 0; i < text.length; i++) {
n = text.charCodeAt(i);
t = "(゚Д゚)[゚ε゚]+";
if (n <= 127) {
t += n.toString(8).replace(/[0-7]/g, function (c) {
return b[c] + "+ ";
});
} else {
var m = /[0-9a-f]{4}$/.exec("000" + n.toString(16))[0];
t += "(o゚ー゚o)+ " + m.replace(/[0-9a-f]/gi, function (c) {
return b[parseInt(c, 16)] + "+ ";
});
}
r += t;
}
r += "(゚Д゚)[゚o゚]) (゚Θ゚)) ('_');";
return r;
}
module.exports = function (source) {
return {
getObfuscatedCode: function () {
return aaencode(source)
}
}
}