js代码混淆 webpack-obfuscator

15 篇文章 2 订阅
2 篇文章 0 订阅

webpack-obfuscator

安装

npm install --save-dev webpack-obfuscator

配置

webpack-obfuscator git 地址
官方例子

// webpack.config.js
'use strict';

const JavaScriptObfuscator = require('webpack-obfuscator');

module.exports = {
    entry: {
        'abc': './test/input/index.js',
        'cde': './test/input/index1.js'
    },
    output: {
        path: 'dist',
        filename: '[name].js' // output: abc.js, cde.js
    },
    plugins: [
        new JavaScriptObfuscator({
            rotateUnicodeArray: true
        }, ['abc.js'])
    ]
};

vuecli 2.x 配置在 webpack.prod.conf.js 中
注意这里的abc.js 是排除这个文件,也就是说这个文件不混淆,其他文件混淆

对比

未使用webpack-obfuscator

新建的vuecli2.x脚手架,添加一个index,js,并构建npm run build
文件大小 117字节

function abc() {
    for (let i = 0; i < 10; i++) {
        console.log(`第${i}个,你好,hello`)
    }
}
abc()

构建后,文件大小 177字节 (webpack默认工具为uglifyjs-webpack-plugin)

webpackJsonp([2],{lVK7:function(o,l){!function(){for(var o=0;o<10;o++)console.log("第"+o+"个,你好,hello")}()}},["lVK7"]);

使用webpack-obfuscator

1. 无参数时
 new JavaScriptObfuscator({
 	}, [])

构建后文件,文件大小:363字节

var _0x1f6e=["个,你好,hello","lVK7","log"];!function(n,o){!function(o){for(;--o;)n.push(n.shift())}(++o)}(_0x1f6e,323);var _0x3655=function(n,o){return _0x1f6e[n-=0]};webpackJsonp([2],{lVK7:function(n,o){!function(){for(var n=0;n<10;n++)console[_0x3655("0x0")]("第"+n+_0x3655("0x1"))}()}},[_0x3655("0x2")]);
2. 高度混淆,低性能(官方文档)

性能比没有模糊处理慢50-100%

new JavaScriptObfuscator({
            compact: true,//压缩代码
            controlFlowFlattening: true,//是否启用控制流扁平化(降低1.5倍的运行速度)
            controlFlowFlatteningThreshold: 1,//应用概率;在较大的代码库中,建议降低此值,因为大量的控制流转换可能会增加代码的大小并降低代码的速度。
            deadCodeInjection: true,//随机的死代码块(增加了混淆代码的大小)
            deadCodeInjectionThreshold: 1,//死代码块的影响概率
            debugProtection: true,//此选项几乎不可能使用开发者工具的控制台选项卡
            debugProtectionInterval: true,//如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。
            disableConsoleOutput: true,//通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。
            identifierNamesGenerator: 'hexadecimal',//标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符)
            log: false,
            renameGlobals: false,//是否启用全局变量和函数名称的混淆
            rotateStringArray: true,//通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。
            selfDefending: true,//混淆后的代码,不能使用代码美化,同时需要配置 cpmpat:true;
            stringArray: true,//删除字符串文字并将它们放在一个特殊的数组中
            stringArrayEncoding: 'rc4',
            stringArrayThreshold: 1,
            transformObjectKeys: true,
            unicodeEscapeSequence: false//允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。
        }, []),

构建后文件,文件大小: 29,999 字节(29.2 KB)

var _0xa0d1=["w7Bzw6oKw6E=","wrwIUcOVw4M=","w4bChi3DtcOQ","wpLDtsK5w4LDpA==","OUlQwp1z","woEqw4XCtsOe","YR3DrkDCiA==","woAjwq/Ci8KQ","dDNzw5bDgA==","VcK8HCM=","JMO3C8K7Zg==","BsK6w7zCkg==","YsOlw71Qwos=","asO/wrPCkBnDmcKhN8Kkw65l","w6fDuwc5bg==","dzLDh1XCog==","OsOEw4dcw78=","WTLDlmbCpQ==","wqN8wr9lew==","w4jDlWXCsMKo","fhR6NsKj","wro4woTCvMKY","wrETRMO0w5g=","O2Jrwrx9","wrw3emE9","wpd5esOnwrs=","wpQtZU0j","wqrChMOMVMOq","ZSfDnUjCpQ==","w6LDgyZdeg==","B37Dh8O7YA==","woZTwrxFQg==","wqnCtMObZcOv","bsK5woDCtMKM","fMK/OTdP","UxN+w5TDtw==","ScOIwp7CihE=","wrMaZ3cS","fcOlwrvCnnQ=","wrYAw5vCg8OU","w4nChTHDjMOR","AmjDp8ObYw==","PkhNw5PDiw==","wqXCocOIU8O0","wo4Tw6rCuMOn","wqIJSsO6w7Q=","LB0Xw7Z1","OsOvwqk2GQ==","K8Okw5p2NA==","acKOwpLCs8Kn","J8KHZMO2IA==","w4vCgzDDl8Of","w4hbw4MLw4A=","HifCjgJO","HDjCkB1DwrzDiG/CjkEO","w6RAw7Epw60=","bi7DqkHChA==","w5tTw7kKw4E=","wq9PBghW","FMO8wok6BQ==","PDABwpls","EsOCw7NDZQ==","wqPDscKVw6fDnA==","bMKIwrvCtMKo","5LuoWeS/leWlgQtXwoV0RQM=","w79KwqXCr0g=","KR0ew7hQFcOUwqLCq8Ozw7zCvsKbwrXClw8=","CjLCmiFe","P8OVacKxZcKDw6J1UsO8e8OYPjggCnoyS8OdOMKcwrLDjCIcwrjDuSnChzt5QDV7w4w8NMKTwpPDv0jCjmfChcOmw4nDoMK8wrzCqVluZcK3WcO0w4wGwqPDh8OG","XhtQw6DDvQ==","fcO/wqTCgBk=","RTrDvkY=","M2VUwp14","LAARw7JK","woIyaxnCvw==","wpIvUwnCtA==","w5YmKjfClw==","w5/DlUzCn8KX","wr5+JBFq","AMO6w6NPw5k=","wovDisKkw7jDjA==","FcOTw4Ndw7o=","IMKVQj7CiA==","w6kODDDCjA==","dMOgwpnCqj4=","MX5UwqR6","wpE/XBjCkA==","cMKEw5nChX5vw6IQRHnDg8Kiw4/DpHAvfiBl","UcOOwqPCoBM=","Mno0wo1Ww4zDk8OOGcOzJ8OawrZXw5vDlQ7DvcO4Dm15w6AeKMK8wrIzJsKwwrU+","O8Odw45XTg==","MMOFw5FvcQ==","esKtZCo3","Z8K1wpzCicOC","EBY9w58Y","RsKUwqfCuMK1","wozCgcODK2A=","woMFeR7Cog==","SMKTHT9L","w5VVw4B3OhNQw69lwo7CgCtUOMOcwrY1","DcKGQsOTHA==","eA3Dq3vCijcOw6nCoGkTSyV4wpU=","JmNvwopB","w7Jsw68Iw6xXwq0=","wo8Bwq3Cl8KI","wrwEUHw9","BcOiw6RebQ==","RsKee8KKw7U=","J8ORw6B6w6I=","woEyw7p5fw==","woPCl8O6UsOq","wpRsGTxl","MUZ0w6PDrQ==","U8KCBsOmc8OVw742WcOfecOcIw==","w4HCgyzDpcOS","fyzDvl3Cpw==","wozChsOaHE4=","Pykiw65h","wrLDlMKCw7LDnw==","FEJTw5jDkQ==","PMOOw4DCtsO5","MDACwpZK","wqgSw49JdQ==","ZMOgw6Nwwq0=","Ii42wqlb","A8Oew5hSGg==","JlpFw4jDow==","wqAcWMOSw4I=","YsKjScK2w4c=","wqvCrMO8","BcOzA8KvdQ==","w74BPBTCkQ==","WsKXaC8N","AcO6w51gw4c=","I8O/w4HCs8O7","DkXDm8OrZQ==","wpjCi8OEWMO5","ccKhVMKDw5o=","GTHCljZc","w4rDtH3CuMKc","wocuSD8=","TizDpEHCnQ==","NQo+w6hl","w4ZawpLCuVw=","RMK+wqXCn8OR","wq0owp3ChsKw","eMOew699woE=","XcK2GQ==","d8OlwqfCrHk=","B0nDosOQQQ==","AcK3eQ3CsA==","wp4Nw4XCrcOi","wow3w6zCncOjJ00=","woVvTsOKwr4=","QsOsw45ZwqU=","wqBzwrNNTg==","Bi00w4sgeQA=","C2hLwrpN","JcOCw7Vrw78=","G8OUw4p9w6w=","w6PCoQ3DmsOi","e8Krw47CmUU=","QsKpEj92","WMKRQC8=","w6nDnzNaSw==","FMKfR8O0","LsKXWj7CvQ==","JMOkw7Nvw40=","EsOxwo0yJBfChiUQ","FcOkw7Y=","woFGwpZ4fB0Rw7Ahwp3Dgw==","KlZVw5LDuQ==","woPDiMKDw53Dlw==","XsKbUyQ5","wrQkeV4v","HB0pw5VP","SMKxwobCk8O0","w5HDmws7QQ==","TMOOwrjCtXM=","LRwXw4hn","AsK3SQ/CtQ==","w7nDhRdNdA==","wpwow67Ch8O4","wrPCjcONb8OuVzk=","wq1PcQ==","HsOvH8KkXsK6Ww==","w5o6KC3CkQ==","woHDl8Kdw4LDgcKTCA==","wo0hSsOzw51oBMK8w4k=","esOkwrzClxPDusKm","w57Dgzcf","GMOIw7hrNsKqUg==","EsOJw7B3","w6HCvhPDhcO0w4bCqw==","RcKrHzVn","VcK8HCNl","wrwNw7XCusOt","wrDCrUzDisKsw5bDuFPCm8OQAsOmDDvDvcOdBA==","w7vCuSjDgsOK","XsONw6ZHwoo=","wonDk8OaIyQ=","w4/DhgszdA==","w4Bmw7Q3w7I=","wo7DpsOiPhI=","O8KIcgPCiw==","w65lwpXCj3o=","bsKAwqPClsO9","5Liuw6jkvZDlprHCn8O9bcKjw53CqQ==","w7hMIiHDhA==","wpvDkMKmw4XDvw==","LMOhw5hhPA==","w4ZFw5Qfw70=","w4/DsHvCsMKA","Ikpsw5nDlg==","wpbCpsO1C04=","ZsK2W8Kfw5Y=","w5VRwqnCuFU=","w6wdLRbCgg==","w53DsGfCtcKN","w4vDsnnCs8KL","D8KRUg==","w4zDmiYUckpkw7g8","wpZbwplobQ==","LWJ4wpte","c8KlQsKi","bsKOwpPCtA==","a8KPwpI=","wpszw6JYbQ==","w5vClyrDksOR","BDIew5Bv","woYgbzrCpw==","wo5/wrM8","w7tlHRvDsg==","NcOOw7NSKw==","WcONwrRHFwjCi0pvdCDCs8Oz","ScKnZsK/w7A=","d8OlwoHCml8=","DMOGw6vCscOS","CsOwKcKgRQ==","PCUIw6o6","H8OUw4dKSw==","UcKGw6rCuWQ=","OcKZawDCiw==","w6XClirDscO9","FMOvOsKSYw==","Hh4mw5V2","Six8w57Dhg==","dcKFwoHCrsKWwrYLworCoMO8wrLDkyrDgGfCjVDDu0M=","LgIzwotu","GMKDG8O5KsOHwrk+GsOWKMOUeXUyc2l6WcKYZ8OLw4/CkTFBw6fDrX3DkzNv","B8OhwrcwOQ==","asKjwoTCn8Om","wrTCqsOTWcOC","YcObwpHCq1I=","DBvCtwVC","BMO9wpw+OgQ=","FcOiw6XCqcO5","R8K0Px5V","dMKxV8Kvw6M=","wrdIXcOKwp4=","LcOMBcKWYQ==","woQjUifCtkoCEcOGRsOQw7Mjw4zCrg==","G17DocOOYw==","asOkw51QwpvDvhQ=","wq8hYMOww48=","w5bDum/CucK2","wpItw5h/SA==","IVnDpsOxfw==","UcOswr7CszQ=","woA2fcOQw4k=","bhPDnFrCuw==","DcK4w7fCh8OYWw==","NsKVw73CqMO+","QBZ3w5XDug==","wqnCtsOeKWI=","wr0qwqzCpsKh","U8KtwoXCnMKG","XMODwpzClS4=","PcOkwog0Gw==","UMOSwpTCig==","H8OzIcK9Wg==","w6vDiiRH","DsKKfsOKAQ==","UMK6Cj9twok=","JsKNw5fCpcOO","wqnDn8OPHS0=","wrjDksKmw7jDtw==","RTNqFcK2","woo9w69Rbg==","w4jDmGTClsKQ","J0B8wold","CsO/w7DCk8OOwpZBw5nCusOrw5U=","TsKFwoXCocKI","wroFwqzClcKQ","RjPDoVjCqw==","5Lm+HeS/q+WnghkPwpUwPRI=","w5waEAHCpQ==","PMO0w6VUNw==","w4HDi0fCvsK3","wofCjMO1RsOx","w6Frw64Lw5E=","eMOVwofCrko=","TsKXw6bCqkY=","ZRDDqU7CtQ==","ZMKXw77CqG8=","wq01w5DCucOf","ZsOvwpTCilk=","KcOrK8KTeQ==","STJwIcK9","w4YiKDbChA==","BwMdw4hj","EQE5wrVL","wqcswrLCvMKe","RMOow75Nwqw=","wpLDkMKqw5bDgw==","wqPCi8OrH2c=","J1rDmMO0ZA==","N2Jrw7DDlQ==","wqU6f8Olw64=","KEdWw5XDsg==","wrs7wpLCvcKL","bArDrGTCm2VTw77CpnME","K8Orw6JZCQ==","McOmw6Jgw5E=","Ki0ww4kZ","MG1owppe","w79Iwq/CuHc=","AsKZVRjCnQ==","AcKkeR3CiQ==","DcK/w57CgsOp","esOgw7t1wr4=","woUNw7xaRQ==","OsOpw6x4Tg==","wpkaw6nCpcOO","w4TDii1icQ==","NDQMw7Yd","woc3w5bCqMOo","KMO2w4pTSQ==","Y8O/wpLCt2I=","MWxVwoNV","wqA+RcOBw6U=","FcOSw5NrHw==","TcOGwqLCox4=","wq4CXnUi","ZwNoFcKZ","TDfDtXLCgA==","wqfCksO7a8O1","wrY5w6rCgMOZ","VsKqwqHCtMOC","wqghwpvCrcK0DQQ=","CsKQU8O1","GsOkw7/ClMOEwrVG","TxhdA8Kqwq/CosOUHg==","UsK2ECVtwovDjQ==","EzjCmQ==","ZMKPwpvCqMKLwrRO","exfDo3TCig==","w65IGCPDnxXCsA==","wpVIwopl","w4rDjSsCbVJo","Y8KFwpfCrsKD","asOkw4ZNwpvDqRPCmALCmlw=","wpBWQMONwr8=","U8OmwrTChzM=","w69UJjrDmw==","wqJBesOv","wpoXfUsz","IhIUw70t","w5RIw5wWw4I=","a8KXZMK/w58=","DsOCw5BpMw==","w53DqzAbTQ==","SxZrw7PDhw==","I2l1w5zDhg==","PU5vwoR2","wq1QGBdbwoIYdsK5FsKG","w6rDtS5/UA==","woRSEAdg","YMKSw73Cmmc=","ZsKQwoXCt8Kd","wqnChMO9PUA=","JcOzw5R9w4I=","wo4JRG8Q","wqc/w67CucOE","w4rDsA8yRA==","w5ADFiDCrQ==","ecOjw5xTwqY=","w4DDjzBkQw==","T8KvwqbChMOs","KcKdVjjCrsKtTz19w59p","wqvDncKDw4vDgg==","AMKfXijClQ==","K3RKwoRS","wpAqVyc=","woUtYsOGw6k=","wpzDvMO9AD4=","wqo0e8OBw74=","bBZiw7zDng==","ccKhdsK9w5k=","wpnDjcOoHxs=","w7c4HAvCmQ==","BcKSw6jCgsOW","XzlfFMK2","OF7DrA==","Eic+wqpi","ecKpOB94","wqpwBwZV","V8Kjd8KFw5s=","woHDsMOuOSM=","VRlfw6zDgg==","dcKvw4/CtnY=","MkTDpcOcQQ7CnzJxV2/Dk8O2MhXCiQ==","wpo6U8Omw4Y=","FSxGw4UZwojCiMKFUcOZdMOWw7Eaw4nCrB3CtcOqSzIuwp1DO8Ohw60ncsOkwr0ow4ppw7HChFgNwpHCi8OyAcOxwrLDplPCjhbCgMKycsKOwrEHPWUnEcOjAcKvJw==","wrvCu8OJTcOG","G8KxcQ/CjA==","wqIgwpzCqg==","wrnDmsOdPzE=","wqNZwpF5Ww==","J0ZDw7LDjg==","wroDQsO1w4E=","w6RJBiXDhA==","w7JOw5gww5E=","MsKdbzLClw==","QcOhwobCsFE=","VcK1w5zCkVg=","d8KWwp3CssOU","wppyPRB3","w7p2wpXCpkA=","wqYvw4dpaw==","T8O4wrfCgTU=","J8KoQcOxAw==","wpnCq8O1bcOx","K8OEw7JBCw==","VgHDg0TCqw==","RsORw5JPwq4=","c8OzwoDCvDY=","Nik+w50k","w5TDlV/CqsKB","LsKHw6PCkcOt","wqcDU8Onw6w=","S8KawpDCnMKd","wr/Dp8ODNyY=","LsOZw7TCgsOz","aMKMMxll","wpvDocO8BiY=","DS0Vw486","wptIwpFbTA==","wrvDocK/w7vDqA==","GcOvwosvGw==","woYdSwTCsg==","ZsKrVyEV","fi11EsKC","AMKtw6nCjMOV","TStIw7fDtw==","XCdKw63Dmg==","FMOAw6Znw64=","KsOgw7XCgsOA","acKgwqjCmsOP","LsOzO8KNYA==","DQUdwoZA","IMOew5zCqMOM","TBhLw4w=","PcKHTSDCiw==","IsKddzzCrw==","HsOUw7JP","wpXDjcKGw5rDvw==","BMOhGMKHdQ==","wpIXwrnClMKd","F8Otw7TCn8Ok","BDIqw5Q2","w49two3CkVg=","NcO0w4tdw6s=","w6jDviRSWA==","w5VUJiDDig==","wqMvw5xPRg==","a8KZwr7Cp8O1","BcKLW8O5McOAwqUkSMKJF8KINi1GeA==","w6F9PRrDlQ==","PcO2w4XDi8KMGcK0wp08S8OvES9QwoMpRsOlE8OuVMOdQD9bw4vCkRxXw581wqt6aHtjw4kVw58NYcONIFvDhcK8w5/Cp0/CnRLDqMKWSWDDogJZw4LCjsKZWw==","w73Dsz0ybA==","woBwHCBF","DCwzw4w=","woQYUg/Cqw==","GsOKw5vCn8Ox","wqEdw5RVSQ==","EFfDisOIUg==","IGlqwptN","asK1ScKEw6A=","w5J0wpHCr14=","wrPCm8OPbcOL","w4/DqR8mZw==","w7N0wpLCqHs=","w7LCnzfDhcOR","fTp9MMK3","w6LDnwZtaw==","wooOw4PClMOo","MWfDisOFUQ==","ScKXMSxq","GjXCpz90","w69QwpLCm0o=","w4jDkjUdew==","ScKjwobCocKn","JsKocwHCvw==","wpYkw41/SQ==","wqzDt8KZw7XDhA==","wpZMwot/","RsKsTwQ5","wo/DlcODFS0=","dsKEw57ChA==","CsOTGMKTSQ==","XcOtwpPCkxs=","wrZxOR5H","RBFHLsKJ","woFQwpR6Qg=="];!function(x,e){var w=function(e){for(;--e;)x.push(x.shift())};!function(){var x={data:{key:"cookie",value:"timeout"},setCookie:function(x,e,w,n){n=n||{};for(var _=e+"="+w,r=0,c=(r=0,x.length);r<c;r++){var t=x[r];_+="; "+t;var o=x[t];x.push(o),c=x.length,!0!==o&&(_+="="+o)}n.cookie=_},removeCookie:function(){return"dev"},getCookie:function(x,e){var n,_=(x=x||function(x){return x})(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[]\/+^])/g,"$1")+"=([^;]*)"));return n=410,w(++n),_?decodeURIComponent(_[1]):void 0}};x.updateCookie=function(){return new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(x.removeCookie.toString())};var e=x.updateCookie();e?e?x.getCookie(null,"counter"):x.removeCookie():x.setCookie(["*"],"counter",1)}()}(_0xa0d1);var _0x34e6=function(x,e){var w,n=_0xa0d1[x-=0];if(void 0===_0x34e6.oeeUQN){(w=function(){var x;try{x=Function('return (function() {}.constructor("return this")( ));')()}catch(e){x=window}return x}()).atob||(w.atob=function(x){for(var e,w,n=String(x).replace(/=+$/,""),_=0,r=0,c="";w=n.charAt(r++);~w&&(e=_%4?64*e+w:w,_++%4)?c+=String.fromCharCode(255&e>>(-2*_&6)):0)w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(w);return c});_0x34e6.CspWeK=function(x,e){for(var w,n=[],_=0,r="",c="",t=0,o=(x=atob(x)).length;t<o;t++)c+="%"+("00"+x.charCodeAt(t).toString(16)).slice(-2);x=decodeURIComponent(c);for(var u=0;u<256;u++)n[u]=u;for(u=0;u<256;u++)_=(_+n[u]+e.charCodeAt(u%e.length))%256,w=n[u],n[u]=n[_],n[_]=w;u=0,_=0;for(var f=0;f<x.length;f++)_=(_+n[u=(u+1)%256])%256,w=n[u],n[u]=n[_],n[_]=w,r+=String.fromCharCode(x.charCodeAt(f)^n[(n[u]+n[_])%256]);return r},_0x34e6.WznujJ={},_0x34e6.oeeUQN=!0}var _=_0x34e6.WznujJ[x];if(void 0===_){if(void 0===_0x34e6.gVFMPP){var r=function(x){this.wQnOGf=x,this.oBwmro=[1,0,0],this.lpxwrg=function(){return"newState"},this.DcpgKF="\\w+ *\\(\\) *{\\w+ *",this.AKLFzO="['|\"].+['|\"];? *}"};r.prototype.yEszEb=function(){var x=new RegExp(this.DcpgKF+this.AKLFzO).test(this.lpxwrg.toString())?--this.oBwmro[1]:--this.oBwmro[0];return this.JPYomF(x)},r.prototype.JPYomF=function(x){return Boolean(~x)?this.XsRsEp(this.wQnOGf):x},r.prototype.XsRsEp=function(x){for(var e=0,w=this.oBwmro.length;e<w;e++)this.oBwmro.push(Math.round(Math.random())),w=this.oBwmro.length;return x(this.oBwmro[0])},new r(_0x34e6).yEszEb(),_0x34e6.gVFMPP=!0}n=_0x34e6.CspWeK(n,e),_0x34e6.WznujJ[x]=n}else n=_;return n},_0x1a25ad=function(){var x=!0;return function(e,w){var n=x?function(){if(w){var x=w.apply(e,arguments);return w=null,x}}:function(){};return x=!1,n}}(),_0x3a4fc4=_0x1a25ad(this,function(){var x=function(x){x.indexOf(!1)&&e(x)},e=function(e){3!==e.indexOf((!0+"")[3])&&x(e)};new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(function(){return"dev"}.toString())&&new RegExp("(\\\\[x|u](\\w){2,4})+").test(function(){return"window"}.toString())?x("indexOf"):x("indеxOf")});_0x3a4fc4();var _0x154852=function(){var x={};x[_0x34e6("0x0","KHj7")]=_0x34e6("0x1","hVB*"),x[_0x34e6("0x2","(Eu(")]=_0x34e6("0x3","oL82"),x[_0x34e6("0x4","NF]5")]=function(x,e){return x(e)},x[_0x34e6("0x5","OA3G")]=_0x34e6("0x6","I@r*"),x[_0x34e6("0x7","xatR")]=function(x,e){return x+e},x[_0x34e6("0x8","AFtM")]=_0x34e6("0x9","WqJj"),x[_0x34e6("0xa","(Eu(")]=_0x34e6("0xb","lGMk"),x[_0x34e6("0xc","Z5Oa")]=function(x,e){return x(e)},x[_0x34e6("0xd","OA3G")]=function(x){return x()},x[_0x34e6("0xe","Dg#&")]=function(x,e){return x===e},x[_0x34e6("0xf","KHj7")]=_0x34e6("0x10","ubRE"),x[_0x34e6("0x11","(v0J")]=_0x34e6("0x12","3xxX"),x[_0x34e6("0x13","$Cun")]=_0x34e6("0x14","iseQ"),x[_0x34e6("0x15","4N^Z")]=_0x34e6("0x16","NF]5"),x[_0x34e6("0x17","ZQ67")]=function(x,e,w){return x(e,w)},x[_0x34e6("0x18","9LM[")]=function(x,e){return x===e},x[_0x34e6("0x19","u$xZ")]=_0x34e6("0x1a","iseQ");var e=!0;return function(w,n){var _={};if(_[_0x34e6("0x1b","RHB)")]=function(e,w,n){return x.PcdYR(e,w,n)},x[_0x34e6("0x1c","@&JF")](x[_0x34e6("0x1d","GJh&")],x[_0x34e6("0x1e","(Eu(")])){var r=e?function(){var e={};if(e[_0x34e6("0x1f","*oRG")]=x.wNbFz,e[_0x34e6("0x20","xatR")]=x.rczpk,e[_0x34e6("0x21","M2YI")]=function(e,w){return x.kYjQG(e,w)},e[_0x34e6("0x22","JrfC")]=x.QCIDV,e[_0x34e6("0x23","xatR")]=function(e,w){return x.UNTRF(e,w)},e[_0x34e6("0x24","RHB)")]=x.ApirS,e[_0x34e6("0x25","AFtM")]=x.RZkcl,e[_0x34e6("0x26","uEgh")]=function(e,w){return x.cMBVI(e,w)},e[_0x34e6("0x27","B@V(")]=function(e){return x.xoWyM(e)},x[_0x34e6("0x28","*X**")](x[_0x34e6("0x29","9ssU")],x[_0x34e6("0x2a","y^wI")])){var r=n[_0x34e6("0x2b","GJh&")](w,arguments);return n=null,r}if(n){if(!x[_0x34e6("0x2c","vdcx")](x[_0x34e6("0x2d","vdcx")],x[_0x34e6("0x2e","!4Gw")])){var c=n[_0x34e6("0x3c","RHB)")](w,arguments);return n=null,c}_[_0x34e6("0x2f","M2YI")](_0x154852,this,function(){var x=new RegExp(e[_0x34e6("0x30","ubRE")]),w=new RegExp(e[_0x34e6("0x31","XauR")],"i"),n=e[_0x34e6("0x32","WeSU")](_0x2c01f8,e[_0x34e6("0x33","M2YI")]);x[_0x34e6("0x34","vdcx")](e[_0x34e6("0x35","OA3G")](n,e[_0x34e6("0x36","OA3G")]))&&w[_0x34e6("0x37","wazq")](e[_0x34e6("0x38","uEgh")](n,e[_0x34e6("0x39","XauR")]))?e[_0x34e6("0x3b","M2YI")](_0x2c01f8):e[_0x34e6("0x3a","I@r*")](n,"0")})()}}:function(){};return e=!1,r}return!0}}();!function(){var x={};x[_0x34e6("0x3d","3xxX")]=function(x,e){return x===e},x[_0x34e6("0x3e","!4Gw")]=_0x34e6("0x3f","Tlng"),x[_0x34e6("0x40","lGMk")]=_0x34e6("0x41","$Cun"),x[_0x34e6("0x42","ubRE")]=_0x34e6("0x43","4N^Z"),x[_0x34e6("0x44","lGMk")]=_0x34e6("0x45","GJh&"),x[_0x34e6("0x46","^rUh")]=function(x,e){return x(e)},x[_0x34e6("0x47","(v0J")]=_0x34e6("0x48","RHB)"),x[_0x34e6("0x49","*X**")]=function(x,e){return x+e},x[_0x34e6("0x4a","M2YI")]=_0x34e6("0x4b","$Cun"),x[_0x34e6("0x4c","hVB*")]=_0x34e6("0x4d","oL82"),x[_0x34e6("0x4e","AjtX")]=_0x34e6("0x4f","3xxX"),x[_0x34e6("0x50","NF]5")]=_0x34e6("0x51","^rUh"),x[_0x34e6("0x52","3xxX")]=function(x,e){return x===e},x[_0x34e6("0x53","vMMt")]=_0x34e6("0x54","y^wI"),x[_0x34e6("0x55","Tlng")]=function(x){return x()},x[_0x34e6("0x56","4%BA")]=function(x,e,w){return x(e,w)},x[_0x34e6("0x57","hVB*")](_0x154852,this,function(){if(x[_0x34e6("0x58","JrfC")](x[_0x34e6("0x59","i@xP")],x[_0x34e6("0x5a","3xxX")])){var e=fn[_0x34e6("0x5b","^rUh")](context,arguments);return fn=null,e}var w=new RegExp(x[_0x34e6("0x5c","*oRG")]),n=new RegExp(x[_0x34e6("0x5d","OA3G")],"i"),_=x[_0x34e6("0x5e","$Cun")](_0x2c01f8,x[_0x34e6("0x5f","uEgh")]);if(w[_0x34e6("0x60","AFtM")](x[_0x34e6("0x61","9ssU")](_,x[_0x34e6("0x62","xatR")]))&&n[_0x34e6("0x63","KHj7")](x[_0x34e6("0x64","XauR")](_,x[_0x34e6("0x65","iseQ")]))){if(!x[_0x34e6("0x6b","vMMt")](x[_0x34e6("0x6c","uEgh")],x[_0x34e6("0x6d","oL82")]))return debuggerProtection;x[_0x34e6("0x6e","4%BA")](_0x2c01f8)}else if(x[_0x34e6("0x66","(v0J")](x[_0x34e6("0x67","y^wI")],x[_0x34e6("0x68","AFtM")])){if(fn){var r=fn[_0x34e6("0x69","Z5Oa")](context,arguments);return fn=null,r}}else x[_0x34e6("0x6a","(Eu(")](_,"0")})()}();var _0x185cff=function(){var x={};x[_0x34e6("0x6f",")!o&")]=function(x){return x()},x[_0x34e6("0x70","I@r*")]=function(x,e){return x+e},x[_0x34e6("0x71","vdcx")]=_0x34e6("0x72","JrfC"),x[_0x34e6("0x73","XauR")]=_0x34e6("0x74","GJh&"),x[_0x34e6("0x75","u$xZ")]=_0x34e6("0x76","iseQ"),x[_0x34e6("0x77","^rUh")]=function(x,e){return x===e},x[_0x34e6("0x78",")!o&")]=_0x34e6("0x79","!4Gw"),x[_0x34e6("0x7a","9LM[")]=_0x34e6("0x7b","AFtM"),x[_0x34e6("0x7c","@&JF")]=function(x,e){return x!==e},x[_0x34e6("0x7d","y^wI")]=_0x34e6("0x7e","I@r*"),x[_0x34e6("0x7f","(Eu(")]=_0x34e6("0x80","oL82"),x[_0x34e6("0x81","(J4j")]=function(x,e){return x===e},x[_0x34e6("0x82","(P1Y")]=_0x34e6("0x83","(J4j"),x[_0x34e6("0x84","NF]5")]=_0x34e6("0x85","9LM[");var e=!0;return function(w,n){var _={};if(_[_0x34e6("0x86","Tlng")]=function(e){return x.nxlWg(e)},_[_0x34e6("0x87","hVB*")]=function(e,w){return x.KmZUK(e,w)},_[_0x34e6("0x88","AFtM")]=x.LNKnV,_[_0x34e6("0x89","NF]5")]=x.YwzlW,_[_0x34e6("0x8a","*oRG")]=x.knUnd,_[_0x34e6("0x8b","JrfC")]=function(e,w){return x.NYBHl(e,w)},_[_0x34e6("0x8c","vdcx")]=x.xWEBM,_[_0x34e6("0x8d","iseQ")]=x.ufATv,_[_0x34e6("0x8e","(J4j")]=function(e,w){return x.fUnlQ(e,w)},_[_0x34e6("0x8f","Dg#&")]=x.TtDPy,_[_0x34e6("0x90","4%BA")]=x.YJmbu,!x[_0x34e6("0x91","vMMt")](x[_0x34e6("0x92","hVB*")],x[_0x34e6("0x93","WqJj")])){var r=e?function(){var x={};if(x[_0x34e6("0x94","NF]5")]=function(x,e){return _.SOLDU(x,e)},x[_0x34e6("0x95","4%BA")]=_.dzDNJ,x[_0x34e6("0x96","(Eu(")]=_.yVxyn,x[_0x34e6("0x97","8b%8")]=_.iYuoh,_[_0x34e6("0x98","B@V(")](_[_0x34e6("0x8c","vdcx")],_[_0x34e6("0x99","ZQ67")]))_[_0x34e6("0x9a","*oRG")](_0x2c01f8);else if(n){if(_[_0x34e6("0x9b","4N^Z")](_[_0x34e6("0x9c","vMMt")],_[_0x34e6("0x9d","Z5Oa")])){var e=n[_0x34e6("0x9e","i@xP")](w,arguments);return n=null,e}(function(){return!1})[_0x34e6("0x9f","i@xP")](x[_0x34e6("0xa0","Z5Oa")](x[_0x34e6("0xa1",")!o&")],x[_0x34e6("0xa2","Z5Oa")]))[_0x34e6("0xa3","(v0J")](x[_0x34e6("0xa4","B@V(")])}}:function(){};return e=!1,r}globalObject=window}}(),_0x2acc39=_0x185cff(this,function(){var x={};x[_0x34e6("0xa5","WeSU")]=function(x,e){return x<e},x[_0x34e6("0xa6","wazq")]=function(x,e){return x+e},x[_0x34e6("0xa7","uEgh")]=function(x,e){return x+e},x[_0x34e6("0xa8","*oRG")]=_0x34e6("0xa9","$Cun"),x[_0x34e6("0xaa","3xxX")]=_0x34e6("0xab","8b%8"),x[_0x34e6("0xac","i@xP")]=_0x34e6("0xad","4N^Z"),x[_0x34e6("0xae","vdcx")]=function(x,e){return x(e)},x[_0x34e6("0xaf","iseQ")]=_0x34e6("0xb0","9LM["),x[_0x34e6("0xb1","oL82")]=_0x34e6("0xb2","8b%8"),x[_0x34e6("0xb3","*X**")]=function(x,e){return x+e},x[_0x34e6("0xb4","*X**")]=_0x34e6("0xb5","IXle"),x[_0x34e6("0xb6","@&JF")]=function(x){return x()},x[_0x34e6("0xb7","(v0J")]=function(x,e){return x===e},x[_0x34e6("0xb8","!4Gw")]=_0x34e6("0xb9","uEgh"),x[_0x34e6("0xba","!4Gw")]=function(x,e){return x===e},x[_0x34e6("0xbb","OA3G")]=_0x34e6("0xbc","IXle"),x[_0x34e6("0xbd","iseQ")]=function(x,e){return x(e)},x[_0x34e6("0xbe","oL82")]=function(x,e){return x+e},x[_0x34e6("0xbf","*X**")]=_0x34e6("0xc0","KHj7"),x[_0x34e6("0xc1","iseQ")]=_0x34e6("0xc2","oL82"),x[_0x34e6("0xc3","wazq")]=function(x,e){return x!==e},x[_0x34e6("0xc4","wazq")]=_0x34e6("0xc5","9ssU"),x[_0x34e6("0xc6","ubRE")]=function(x,e){return x===e},x[_0x34e6("0xc7","RHB)")]=_0x34e6("0xc8","*oRG"),x[_0x34e6("0xc9","VmNg")]=_0x34e6("0xca","*X**"),x[_0x34e6("0xcb","JrfC")]=_0x34e6("0xcc","AFtM"),x[_0x34e6("0xcd","4N^Z")]=_0x34e6("0xce",")!o&"),x[_0x34e6("0xcf","oL82")]=_0x34e6("0xd0","Z5Oa"),x[_0x34e6("0xd1","I@r*")]=function(x,e){return x!==e},x[_0x34e6("0xd2","(J4j")]=_0x34e6("0xd3","wazq"),x[_0x34e6("0xd4","AjtX")]=_0x34e6("0xd5","!4Gw"),x[_0x34e6("0xd6","$Cun")]=function(x,e){return x!==e},x[_0x34e6("0xd7","NF]5")]=_0x34e6("0xd8","(v0J"),x[_0x34e6("0xd9","WqJj")]=_0x34e6("0xda","4N^Z");var e=function(){},w=x[_0x34e6("0x100","4%BA")](function(){var e={};if(e[_0x34e6("0xdb","vMMt")]=function(e,w){return x.qyPRl(e,w)},e[_0x34e6("0xdc","9LM[")]=function(e,w){return x.qyPRl(e,w)},e[_0x34e6("0xdd","VmNg")]=x.khNoL,x[_0x34e6("0xde","8b%8")](x[_0x34e6("0xdf","uEgh")],x[_0x34e6("0xe0","WqJj")])){var w;try{if(x[_0x34e6("0xe1","M2YI")](x[_0x34e6("0xe2","WeSU")],x[_0x34e6("0xe3","$Cun")]))w=x[_0x34e6("0xe4","u$xZ")](Function,x[_0x34e6("0xe5","WeSU")](x[_0x34e6("0xe6","ZQ67")](x[_0x34e6("0xe7","WqJj")],x[_0x34e6("0xe8","(Eu(")]),");"))();else for(var n=0;x[_0x34e6("0xe9","AjtX")](n,10);n++)console[_0x34e6("0xea","VmNg")](x[_0x34e6("0xeb","XauR")](x[_0x34e6("0xec","IXle")]("第",n),x[_0x34e6("0xed","9ssU")]))}catch(e){if(x[_0x34e6("0xee","!4Gw")](x[_0x34e6("0xef","M2YI")],x[_0x34e6("0xf0","hVB*")])){var _=new RegExp(x[_0x34e6("0xf1","NF]5")]),r=new RegExp(x[_0x34e6("0xf2","AjtX")],"i"),c=x[_0x34e6("0xf3","i@xP")](_0x2c01f8,x[_0x34e6("0xf4","@&JF")]);_[_0x34e6("0xf5","*X**")](x[_0x34e6("0xf6",")!o&")](c,x[_0x34e6("0xf7","8b%8")]))&&r[_0x34e6("0x34","vdcx")](x[_0x34e6("0xf8","3xxX")](c,x[_0x34e6("0xf9","ubRE")]))?x[_0x34e6("0xfb","u$xZ")](_0x2c01f8):x[_0x34e6("0xfa","I@r*")](c,"0")}else w=window}return w}console[_0x34e6("0xfc","JrfC")](e[_0x34e6("0xfd","Dg#&")](e[_0x34e6("0xfe","hVB*")]("第",i),e[_0x34e6("0xff","OA3G")]))});if(w[_0x34e6("0x101","4%BA")]){if(x[_0x34e6("0x117","(J4j")](x[_0x34e6("0xd7","NF]5")],x[_0x34e6("0x118","8b%8")])){var n;try{n=x[_0x34e6("0x119","ubRE")](Function,x[_0x34e6("0x11a","^rUh")](x[_0x34e6("0x11b","Dg#&")](x[_0x34e6("0x11c","8b%8")],x[_0x34e6("0x11d","OA3G")]),");"))()}catch(x){n=window}return n}for(var _=x[_0x34e6("0x11e","Tlng")][_0x34e6("0x11f","4%BA")]("|"),r=0;;){switch(_[r++]){case"0":w[_0x34e6("0x120","NF]5")][_0x34e6("0x121","(P1Y")]=e;continue;case"1":w[_0x34e6("0x122","XauR")][_0x34e6("0x123","IXle")]=e;continue;case"2":w[_0x34e6("0x124","uEgh")][_0x34e6("0x125","(Eu(")]=e;continue;case"3":w[_0x34e6("0x126","iseQ")][_0x34e6("0x127","^rUh")]=e;continue;case"4":w[_0x34e6("0x128","ZQ67")][_0x34e6("0x129","ZQ67")]=e;continue;case"5":w[_0x34e6("0x12a","vMMt")][_0x34e6("0x12b","JrfC")]=e;continue;case"6":w[_0x34e6("0x105","RHB)")][_0x34e6("0x12c","JrfC")]=e;continue}break}}else{if(!x[_0x34e6("0x102","(P1Y")](x[_0x34e6("0x103","u$xZ")],x[_0x34e6("0x104","AFtM")]))return function(x){}[_0x34e6("0x113","AFtM")](x[_0x34e6("0x114","WqJj")])[_0x34e6("0x115","uEgh")](x[_0x34e6("0x116","9ssU")]);w[_0x34e6("0x105","RHB)")]=function(e){if(x[_0x34e6("0x106","oL82")](x[_0x34e6("0x107","!4Gw")],x[_0x34e6("0x108","!4Gw")])){var w=firstCall?function(){if(fn){var x=fn[_0x34e6("0x109","vMMt")](context,arguments);return fn=null,x}}:function(){};return firstCall=!1,w}for(var n=x[_0x34e6("0x10a","KHj7")][_0x34e6("0x10b","JrfC")]("|"),_=0;;){switch(n[_++]){case"0":r[_0x34e6("0x10c","9ssU")]=e;continue;case"1":r[_0x34e6("0x10d","Tlng")]=e;continue;case"2":r[_0x34e6("0x10e","4N^Z")]=e;continue;case"3":return r;case"4":r[_0x34e6("0x10f","OA3G")]=e;continue;case"5":r[_0x34e6("0x110","!4Gw")]=e;continue;case"6":r[_0x34e6("0x111","B@V(")]=e;continue;case"7":var r={};continue;case"8":r[_0x34e6("0x112","M2YI")]=e;continue}break}}(e)}});function _0x2c01f8(x){var e={};function w(n){var _={};if(_[_0x34e6("0x19e","IXle")]=function(x,w){return e.ueFqj(x,w)},_[_0x34e6("0x19f","8b%8")]=function(x,w){return e.QvVNR(x,w)},_[_0x34e6("0x1a0","WeSU")]=e.rQDfP,_[_0x34e6("0x1a1","I@r*")]=e.tUKhv,e[_0x34e6("0x1a2","u$xZ")](e[_0x34e6("0x1a3","uEgh")],e[_0x34e6("0x1a4","VmNg")])){if(e[_0x34e6("0x1a5","hVB*")](typeof n,e[_0x34e6("0x1a6","WqJj")])){if(e[_0x34e6("0x1a7","(Eu(")](e[_0x34e6("0x1a8","WqJj")],e[_0x34e6("0x1a9","I@r*")]))return function(x){}[_0x34e6("0x1aa",")!o&")](e[_0x34e6("0x1ab","ZQ67")])[_0x34e6("0x1ac","!4Gw")](e[_0x34e6("0x1ad","RHB)")]);globalObject=_[_0x34e6("0x1ae","oL82")](Function,_[_0x34e6("0x1af","3xxX")](_[_0x34e6("0x1b0","OA3G")](_[_0x34e6("0x1b1","OA3G")],_[_0x34e6("0x1b2","GJh&")]),");"))()}else if(e[_0x34e6("0x1b3","u$xZ")](e[_0x34e6("0x1b4","$Cun")],e[_0x34e6("0x1b5","wazq")])){if(x)return w;e[_0x34e6("0x1b6","4%BA")](w,0)}else if(e[_0x34e6("0x1b7","Tlng")](e[_0x34e6("0x1b8","RHB)")]("",e[_0x34e6("0x1b9","4%BA")](n,n))[e[_0x34e6("0x1ba","wazq")]],1)||e[_0x34e6("0x1bb","Dg#&")](e[_0x34e6("0x1bc","oL82")](n,20),0)){if(!e[_0x34e6("0x1bd","(Eu(")](e[_0x34e6("0x1be","ZQ67")],e[_0x34e6("0x1bf","iseQ")]))return!1;(function(){var x={};if(x[_0x34e6("0x1c0","(J4j")]=e.NieJr,e[_0x34e6("0x1c1","y^wI")](e[_0x34e6("0x1c2",")!o&")],e[_0x34e6("0x1c3","NF]5")]))return!0;for(var w=x[_0x34e6("0x1c4","4%BA")][_0x34e6("0x1c5","ubRE")]("|"),n=0;;){switch(w[n++]){case"0":that[_0x34e6("0x1c6","I@r*")][_0x34e6("0x1c7","4N^Z")]=func;continue;case"1":that[_0x34e6("0x1c8","M2YI")][_0x34e6("0x1c9","y^wI")]=func;continue;case"2":that[_0x34e6("0x1ca","JrfC")][_0x34e6("0x123","IXle")]=func;continue;case"3":that[_0x34e6("0x12a","vMMt")][_0x34e6("0x1cb","i@xP")]=func;continue;case"4":that[_0x34e6("0x1cc","*oRG")][_0x34e6("0x1cd",")!o&")]=func;continue;case"5":that[_0x34e6("0x1ce","lGMk")][_0x34e6("0x1cf","AFtM")]=func;continue;case"6":that[_0x34e6("0x1d0","^rUh")][_0x34e6("0x1d1","*oRG")]=func;continue}break}})[_0x34e6("0x1d2","u$xZ")](e[_0x34e6("0x1d3","(P1Y")](e[_0x34e6("0x1d4","iseQ")],e[_0x34e6("0x1d5","lGMk")]))[_0x34e6("0x1d6","(P1Y")](e[_0x34e6("0x1d7","(J4j")])}else e[_0x34e6("0x1d8","RHB)")](e[_0x34e6("0x1d9","Z5Oa")],e[_0x34e6("0x1da","AjtX")])?e[_0x34e6("0x1db","ZQ67")](result,"0"):function(){var x={};if(x[_0x34e6("0x1dc","^rUh")]=function(x){return e.SgGIh(x)},e[_0x34e6("0x1dd","vdcx")](e[_0x34e6("0x1de","WqJj")],e[_0x34e6("0x15c","vMMt")]))return!1;x[_0x34e6("0x1df","oL82")](_0x2c01f8)}[_0x34e6("0x1e0","(v0J")](e[_0x34e6("0x1e1","Tlng")](e[_0x34e6("0x1e2","(v0J")],e[_0x34e6("0x1e3","KHj7")]))[_0x34e6("0x1e4","*oRG")](e[_0x34e6("0x1e5","VmNg")]);e[_0x34e6("0x1e6","!4Gw")](w,++n)}else _[_0x34e6("0x1e7","(J4j")](w,0)}e[_0x34e6("0x151","lGMk")]=function(x,e){return x(e)},e[_0x34e6("0x152","ZQ67")]=_0x34e6("0x153","wazq"),e[_0x34e6("0x154","AjtX")]=function(x,e){return x!==e},e[_0x34e6("0x155","Dg#&")]=_0x34e6("0x156","M2YI"),e[_0x34e6("0x157","XauR")]=_0x34e6("0x158","RHB)"),e[_0x34e6("0x159","wazq")]=function(x,e){return x(e)},e[_0x34e6("0x15a","KHj7")]=function(x){return x()},e[_0x34e6("0x15b","OA3G")]=function(x,e){return x===e},e[_0x34e6("0x15c","vMMt")]=_0x34e6("0x15d","XauR"),e[_0x34e6("0x15e","8b%8")]=function(x,e){return x+e},e[_0x34e6("0x15f","vdcx")]=_0x34e6("0x160","*oRG"),e[_0x34e6("0x161","WeSU")]=_0x34e6("0x162","4N^Z"),e[_0x34e6("0x163","B@V(")]=_0x34e6("0x164","ubRE"),e[_0x34e6("0x165","NF]5")]=_0x34e6("0x166","Dg#&"),e[_0x34e6("0x167","i@xP")]=_0x34e6("0x168","B@V("),e[_0x34e6("0x169","M2YI")]=_0x34e6("0x16a","JrfC"),e[_0x34e6("0x16b","AjtX")]=_0x34e6("0x16c","(P1Y"),e[_0x34e6("0x16d","XauR")]=_0x34e6("0x16e","*X**"),e[_0x34e6("0x16f","hVB*")]=_0x34e6("0x170","u$xZ"),e[_0x34e6("0x171","(Eu(")]=_0x34e6("0x172","@&JF"),e[_0x34e6("0x173","$Cun")]=_0x34e6("0x174","hVB*"),e[_0x34e6("0x175","iseQ")]=function(x,e){return x!==e},e[_0x34e6("0x176","(Eu(")]=function(x,e){return x/e},e[_0x34e6("0x177","9LM[")]=_0x34e6("0x178","GJh&"),e[_0x34e6("0x179","GJh&")]=function(x,e){return x===e},e[_0x34e6("0x17a","vdcx")]=function(x,e){return x%e},e[_0x34e6("0x17b","VmNg")]=_0x34e6("0x17c","I@r*"),e[_0x34e6("0x17d","*oRG")]=_0x34e6("0x17e","iseQ"),e[_0x34e6("0x17f","B@V(")]=_0x34e6("0x180","Dg#&"),e[_0x34e6("0x181","XauR")]=_0x34e6("0x182","Tlng"),e[_0x34e6("0x183","4N^Z")]=_0x34e6("0x184","JrfC"),e[_0x34e6("0x185","GJh&")]=function(x,e){return x===e},e[_0x34e6("0x186","xatR")]=_0x34e6("0x187","uEgh"),e[_0x34e6("0x188","y^wI")]=_0x34e6("0x189","$Cun"),e[_0x34e6("0x18a","@&JF")]=function(x,e){return x+e},e[_0x34e6("0x18b","oL82")]=_0x34e6("0x18c","M2YI"),e[_0x34e6("0x18d","*oRG")]=function(x,e){return x+e},e[_0x34e6("0x18e","I@r*")]=function(x,e){return x<e},e[_0x34e6("0x18f","9LM[")]=_0x34e6("0x190","hVB*"),e[_0x34e6("0x191","IXle")]=_0x34e6("0x192","ZQ67"),e[_0x34e6("0x193","@&JF")]=_0x34e6("0x194","NF]5"),e[_0x34e6("0x195","Z5Oa")]=function(x,e){return x!==e},e[_0x34e6("0x196","Dg#&")]=_0x34e6("0x197","KHj7"),e[_0x34e6("0x198",")!o&")]=_0x34e6("0x199","KHj7"),e[_0x34e6("0x19a","4%BA")]=_0x34e6("0x19b","Dg#&"),e[_0x34e6("0x19c","XauR")]=_0x34e6("0x19d","y^wI");try{if(e[_0x34e6("0x1e8","4%BA")](e[_0x34e6("0x1e9","^rUh")],e[_0x34e6("0x1ea","IXle")]))if(x){if(e[_0x34e6("0x1eb","u$xZ")](e[_0x34e6("0x1ec","Tlng")],e[_0x34e6("0x1ed","ubRE")]))return w;(function(){return!0})[_0x34e6("0x1ee","OA3G")](e[_0x34e6("0x1ef","uEgh")](e[_0x34e6("0x1f0","OA3G")],e[_0x34e6("0x1f1","oL82")]))[_0x34e6("0x1f2","*X**")](e[_0x34e6("0x1f3","(Eu(")])}else if(e[_0x34e6("0x1f4","xatR")](e[_0x34e6("0x1f5","(Eu(")],e[_0x34e6("0x1f6","vdcx")]))e[_0x34e6("0x1f7","AjtX")](w,0);else{var n={};n[_0x34e6("0x1f8","xatR")]=function(x,w){return e.qKYKK(x,w)},n[_0x34e6("0x1f9","IXle")]=function(x,w){return e.Iepzl(x,w)},n[_0x34e6("0x1fa","GJh&")]=e.jgvjx,e[_0x34e6("0x200","AjtX")](function(){for(var x=0;n[_0x34e6("0x1fb","y^wI")](x,10);x++)console[_0x34e6("0x1fc","hVB*")](n[_0x34e6("0x1fd","WeSU")](n[_0x34e6("0x1fe","JrfC")]("第",x),n[_0x34e6("0x1ff","(v0J")]))})}else if(fn){var _=fn[_0x34e6("0x2b","GJh&")](context,arguments);return fn=null,_}}catch(x){}}_0x2acc39(),webpackJsonp([2],{lVK7:function(x,e){var w={};w[_0x34e6("0x12d","4%BA")]=_0x34e6("0x12e","vMMt"),w[_0x34e6("0x12f","vMMt")]=function(x,e){return x!==e},w[_0x34e6("0x130","u$xZ")]=_0x34e6("0x131","xatR"),w[_0x34e6("0x132","^rUh")]=function(x,e){return x<e},w[_0x34e6("0x133","Z5Oa")]=function(x,e){return x!==e},w[_0x34e6("0x134","xatR")]=_0x34e6("0x135","OA3G"),w[_0x34e6("0x136","3xxX")]=function(x,e){return x+e},w[_0x34e6("0x137","ubRE")]=_0x34e6("0x138","AjtX"),w[_0x34e6("0x139","lGMk")]=function(x){return x()},w[_0x34e6("0x14f","*X**")](function(){if(w[_0x34e6("0x13a","uEgh")](w[_0x34e6("0x13b","ZQ67")],w[_0x34e6("0x13c","Z5Oa")])){var x=firstCall?function(){if(fn){var x=fn[_0x34e6("0x13d","@&JF")](context,arguments);return fn=null,x}}:function(){};return firstCall=!1,x}for(var e=0;w[_0x34e6("0x13e","WqJj")](e,10);e++)if(w[_0x34e6("0x13f","VmNg")](w[_0x34e6("0x140","AjtX")],w[_0x34e6("0x141","3xxX")]))for(var n=w[_0x34e6("0x142","IXle")][_0x34e6("0x143","@&JF")]("|"),_=0;;){switch(n[_++]){case"0":r[_0x34e6("0x144","@&JF")]=func;continue;case"1":r[_0x34e6("0x145","4N^Z")]=func;continue;case"2":var r={};continue;case"3":return r;case"4":r[_0x34e6("0x146","^rUh")]=func;continue;case"5":r[_0x34e6("0x147","AFtM")]=func;continue;case"6":r[_0x34e6("0x148","oL82")]=func;continue;case"7":r[_0x34e6("0x149","AjtX")]=func;continue;case"8":r[_0x34e6("0x14a","*oRG")]=func;continue}break}else console[_0x34e6("0x14b","*oRG")](w[_0x34e6("0x14c","$Cun")](w[_0x34e6("0x14d","vMMt")]("第",e),w[_0x34e6("0x14e","8b%8")]))})}},[_0x34e6("0x150","AFtM")]),setInterval(function(){var x={};x[_0x34e6("0x201","xatR")]=function(x){return x()},x[_0x34e6("0x202","vdcx")](_0x2c01f8)},4e3);
//# sourceMappingURL=me.fe5149c111f7985d9fb1.js.map
3. 中等混淆,最佳性能(官方文档)

性能比没有模糊处理慢30-35%

 new JavaScriptObfuscator({
            compact: true,//压缩代码
            controlFlowFlattening: true,是否启用控制流扁平化(降低1.5倍的运行速度)
            controlFlowFlatteningThreshold: 0.75,应用概率;在较大的代码库中,建议降低此值,因为大量的控制流转换可能会增加代码的大小并降低代码的速度。
            deadCodeInjection: true,//随机的死代码块(增加了混淆代码的大小)
            deadCodeInjectionThreshold: 0.4,//死代码块的影响概率
            debugProtection: false,//此选项几乎不可能使用开发者工具的控制台选项卡
            debugProtectionInterval: false,//如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。
            disableConsoleOutput: true,//通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。
            identifierNamesGenerator: 'hexadecimal',//标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符)
            log: false,
            renameGlobals: false,//是否启用全局变量和函数名称的混淆
            rotateStringArray: true,//通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。
            selfDefending: true,//混淆后的代码,不能使用代码美化,同时需要配置 cpmpat:true;
            stringArray: true,//删除字符串文字并将它们放在一个特殊的数组中
            stringArrayEncoding: 'base64',
            stringArrayThreshold: 0.75,
            transformObjectKeys: true,
            unicodeEscapeSequence: false//允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。
        }, []),

构建后文件,文件大小:7066字节(6.90kb)

var _0x1a25=["UmFzT1U=","RkVIc0o=","VUt2eW4=","Q29IS0g=","V1NSZ0k=","d3RNT2w=","dlV6cUw=","RlpzZWg=","QnpzSlE=","cXBqQ1k=","YXBwbHk=","bFZLNw==","Y3p1Ymo=","TFZlQXE=","Y2NKWlY=","cmV0dXJuIChmdW5jdGlvbigpIA==","e30uY29uc3RydWN0b3IoInJldHVybiB0aGlzIikoICk=","aVlYT1A=","OHw2fDV8MHwxfDN8Mnw0fDc=","ZndqZ3o=","ZHRYcU8=","YWduaWk=","VlZqV1g=","WktwZEE=","MXwzfDR8N3w2fDV8OHwyfDA=","QkZqaUQ=","VUNqbXU=","V213VEk=","anRJRUQ=","Mnw0fDB8NXwzfDZ8MQ==","aWhtV20=","WG5XbEg=","aWp6Z2c=","WkJuQ3o=","cEpUVWQ=","UVZ0V2U=","Y29uc29sZQ==","V2J1YVQ=","VE1Nck4=","c3BsaXQ=","bG9n","d2Fybg==","ZXJyb3I=","ZXhjZXB0aW9u","RmtNUE0=","aW5mbw==","dHJhY2U=","UWRZTnk="];!function(n,c){var b=function(c){for(;--c;)n.push(n.shift())};!function(){var n={data:{key:"cookie",value:"timeout"},setCookie:function(n,c,b,t){t=t||{};for(var x=c+"="+b,e=0,o=(e=0,n.length);e<o;e++){var r=n[e];x+="; "+r;var i=n[r];n.push(i),o=n.length,!0!==i&&(x+="="+i)}t.cookie=x},removeCookie:function(){return"dev"},getCookie:function(n,c){var t,x=(n=n||function(n){return n})(new RegExp("(?:^|; )"+c.replace(/([.$?*|{}()[]\/+^])/g,"$1")+"=([^;]*)"));return t=348,b(++t),x?decodeURIComponent(x[1]):void 0}};n.updateCookie=function(){return new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(n.removeCookie.toString())};var c=n.updateCookie();c?c?n.getCookie(null,"counter"):n.removeCookie():n.setCookie(["*"],"counter",1)}()}(_0x1a25);var _0x4bcb=function(n,c){var b,t=_0x1a25[n-=0];void 0===_0x4bcb.MeUUaX&&((b=function(){var n;try{n=Function('return (function() {}.constructor("return this")( ));')()}catch(c){n=window}return n}()).atob||(b.atob=function(n){for(var c,b,t=String(n).replace(/=+$/,""),x=0,e=0,o="";b=t.charAt(e++);~b&&(c=x%4?64*c+b:b,x++%4)?o+=String.fromCharCode(255&c>>(-2*x&6)):0)b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b);return o}),_0x4bcb.NcPEgK=function(n){for(var c=atob(n),b=[],t=0,x=c.length;t<x;t++)b+="%"+("00"+c.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(b)},_0x4bcb.GmhuNb={},_0x4bcb.MeUUaX=!0);var x=_0x4bcb.GmhuNb[n];if(void 0===x){var e=function(n){this.peGvRT=n,this.XpNCpE=[1,0,0],this.GBlRmm=function(){return"newState"},this.ZnSKmH="\\w+ *\\(\\) *{\\w+ *",this.xXsiXN="['|\"].+['|\"];? *}"};e.prototype.vTkiYT=function(){var n=new RegExp(this.ZnSKmH+this.xXsiXN).test(this.GBlRmm.toString())?--this.XpNCpE[1]:--this.XpNCpE[0];return this.oUrnQl(n)},e.prototype.oUrnQl=function(n){return Boolean(~n)?this.iiJojN(this.peGvRT):n},e.prototype.iiJojN=function(n){for(var c=0,b=this.XpNCpE.length;c<b;c++)this.XpNCpE.push(Math.round(Math.random())),b=this.XpNCpE.length;return n(this.XpNCpE[0])},new e(_0x4bcb).vTkiYT(),t=_0x4bcb.NcPEgK(t),_0x4bcb.GmhuNb[n]=t}else t=x;return t},_0x545893=function(){var n=!0;return function(c,b){var t=n?function(){if(b){var n=b.apply(c,arguments);return b=null,n}}:function(){};return n=!1,t}}(),_0x2bca28=_0x545893(this,function(){var n=function(n){n.indexOf(!1)&&c(n)},c=function(c){3!==c.indexOf((!0+"")[3])&&n(c)};new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(function(){return"dev"}.toString())&&new RegExp("(\\\\[x|u](\\w){2,4})+").test(function(){return"window"}.toString())?n("indexOf"):n("indеxOf")});_0x2bca28();var _0x471c79=function(){var n=!0;return function(c,b){var t=n?function(){if(b){var n=b.apply(c,arguments);return b=null,n}}:function(){};return n=!1,t}}(),_0x593733=_0x471c79(this,function(){var n={};n[_0x4bcb("0x0")]=function(n,c){return n+c},n[_0x4bcb("0x1")]=function(n,c){return n===c},n.XnWlH=_0x4bcb("0x2"),n.ijzgg=function(n,c){return n(c)},n.ZBnCz=_0x4bcb("0x3"),n.pJTUd=_0x4bcb("0x4"),n[_0x4bcb("0x5")]=_0x4bcb("0x6"),n.TMMrN=function(n,c){return n!==c},n[_0x4bcb("0x7")]=_0x4bcb("0x8"),n[_0x4bcb("0x9")]=_0x4bcb("0xa"),n[_0x4bcb("0xb")]=_0x4bcb("0xc"),n[_0x4bcb("0xd")]=function(n,c){return n!==c},n[_0x4bcb("0xe")]="Suwdx",n.WbuaT=_0x4bcb("0xf"),n[_0x4bcb("0x10")]=_0x4bcb("0x11");var c=function(){},b=function(){var c,b={};if(b[_0x4bcb("0x12")]=function(n,c){return n(c)},b.QVtWe=function(c,b){return n.czubj(c,b)},n.LVeAq(n[_0x4bcb("0x13")],n[_0x4bcb("0x13")])){var t;try{t=n[_0x4bcb("0x14")](Function,n[_0x4bcb("0x0")](n.czubj(n[_0x4bcb("0x15")],n[_0x4bcb("0x16")]),");"))()}catch(n){t=window}return t}try{c=b[_0x4bcb("0x12")](Function,b[_0x4bcb("0x17")](b[_0x4bcb("0x17")](_0x4bcb("0x3"),_0x4bcb("0x4")),");"))()}catch(n){c=window}return c}();if(b[_0x4bcb("0x18")])for(var t=n[_0x4bcb("0x10")][_0x4bcb("0x1b")]("|"),x=0;;){switch(t[x++]){case"0":b[_0x4bcb("0x18")].debug=c;continue;case"1":b[_0x4bcb("0x18")][_0x4bcb("0x22")]=c;continue;case"2":b[_0x4bcb("0x18")][_0x4bcb("0x1c")]=c;continue;case"3":b[_0x4bcb("0x18")][_0x4bcb("0x1e")]=c;continue;case"4":b[_0x4bcb("0x18")][_0x4bcb("0x1d")]=c;continue;case"5":b[_0x4bcb("0x18")][_0x4bcb("0x21")]=c;continue;case"6":b[_0x4bcb("0x18")][_0x4bcb("0x1f")]=c;continue}break}else if(n[_0x4bcb("0xd")](n[_0x4bcb("0xe")],n[_0x4bcb("0x19")]))b[_0x4bcb("0x18")]=function(c){var t={};if(t.SnEwY=n.iYXOP,n[_0x4bcb("0x1a")](n.fwjgz,n[_0x4bcb("0x9")]))for(var x=n[_0x4bcb("0xb")][_0x4bcb("0x1b")]("|"),e=0;;){switch(x[e++]){case"0":return o;case"1":var o={};continue;case"2":o.trace=c;continue;case"3":o[_0x4bcb("0x1c")]=c;continue;case"4":o[_0x4bcb("0x1d")]=c;continue;case"5":o[_0x4bcb("0x1e")]=c;continue;case"6":o.info=c;continue;case"7":o.debug=c;continue;case"8":o[_0x4bcb("0x1f")]=c;continue}break}else{var r={};r[_0x4bcb("0x20")]=t.SnEwY,b[_0x4bcb("0x18")]=function(n){for(var c=r[_0x4bcb("0x20")][_0x4bcb("0x1b")]("|"),b=0;;){switch(c[b++]){case"0":t.debug=n;continue;case"1":t[_0x4bcb("0x21")]=n;continue;case"2":t[_0x4bcb("0x1f")]=n;continue;case"3":t[_0x4bcb("0x1e")]=n;continue;case"4":t.trace=n;continue;case"5":t.warn=n;continue;case"6":t[_0x4bcb("0x1c")]=n;continue;case"7":return t;case"8":var t={};continue}break}}(c)}}(c);else for(var e="4|7|5|1|2|8|6|3|0"[_0x4bcb("0x1b")]("|"),o=0;;){switch(e[o++]){case"0":return r;case"1":r.debug=c;continue;case"2":r[_0x4bcb("0x21")]=c;continue;case"3":r[_0x4bcb("0x22")]=c;continue;case"4":var r={};continue;case"5":r[_0x4bcb("0x1d")]=c;continue;case"6":r.exception=c;continue;case"7":r[_0x4bcb("0x1c")]=c;continue;case"8":r[_0x4bcb("0x1e")]=c;continue}break}});_0x593733(),webpackJsonp([2],{lVK7:function(n,c){var b={};b.qpjCY=function(n,c){return n!==c},b[_0x4bcb("0x23")]=_0x4bcb("0x24"),b[_0x4bcb("0x25")]=_0x4bcb("0x26"),b[_0x4bcb("0x27")]=function(n,c){return n!==c},b[_0x4bcb("0x28")]=_0x4bcb("0x29"),b[_0x4bcb("0x2a")]=function(n,c){return n+c},b[_0x4bcb("0x2b")]="个,你好,hello",b[_0x4bcb("0x2c")]=function(n){return n()},b[_0x4bcb("0x2c")](function(){if(!b[_0x4bcb("0x2d")](b.QdYNy,b.FEHsJ)){var n=fn[_0x4bcb("0x2e")](context,arguments);return fn=null,n}for(var c=0;c<10;c++){if(b[_0x4bcb("0x27")](b[_0x4bcb("0x28")],b[_0x4bcb("0x28")])){var t=firstCall?function(){if(fn){var n=fn[_0x4bcb("0x2e")](context,arguments);return fn=null,n}}:function(){};return firstCall=!1,t}console[_0x4bcb("0x1c")](b[_0x4bcb("0x2a")]("第"+c,b[_0x4bcb("0x2b")]))}})}},[_0x4bcb("0x2f")]);
//# sourceMappingURL=me.fe5149c111f7985d9fb1.js.map
4. 低混淆,高性能(官方文档)

性能稍微慢于没有混淆

new JavaScriptObfuscator({
            compact: true,//压缩代码
            controlFlowFlattening: false,//是否启用控制流扁平化(降低1.5倍的运行速度)
            deadCodeInjection: false,///随机的死代码块(增加了混淆代码的大小)
            debugProtection: false,//此选项几乎不可能使用开发者工具的控制台选项卡
            debugProtectionInterval: false,//如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。
            disableConsoleOutput: true,//通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。
            identifierNamesGenerator: 'hexadecimal',//标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符)
            log: false,
            renameGlobals: false,//是否启用全局变量和函数名称的混淆
            rotateStringArray: true,//通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。
            selfDefending: true,//混淆后的代码,不能使用代码美化,同时需要配置 cpmpat:true;
            stringArray: true,//删除字符串文字并将它们放在一个特殊的数组中
            stringArrayEncoding: false,
            stringArrayThreshold: 0.75,
            unicodeEscapeSequence: false//允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。
        }, []),

构建后文件,文件大小: 2,424 字节(2.36 KB)

var _0x37a6=["exception","trace","console","个,你好,hello","lVK7","apply","return (function() ",'{}.constructor("return this")( )',"log","warn","debug","info","error"];!function(n,e){var o=function(e){for(;--e;)n.push(n.shift())};!function(){var n={data:{key:"cookie",value:"timeout"},setCookie:function(n,e,o,t){t=t||{};for(var r=e+"="+o,x=0,f=(x=0,n.length);x<f;x++){var u=n[x];r+="; "+u;var i=n[u];n.push(i),f=n.length,!0!==i&&(r+="="+i)}t.cookie=r},removeCookie:function(){return"dev"},getCookie:function(n,e){var t,r=(n=n||function(n){return n})(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[]\/+^])/g,"$1")+"=([^;]*)"));return t=460,o(++t),r?decodeURIComponent(r[1]):void 0}};n.updateCookie=function(){return new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(n.removeCookie.toString())};var e=n.updateCookie();e?e?n.getCookie(null,"counter"):n.removeCookie():n.setCookie(["*"],"counter",1)}()}(_0x37a6);var _0xe1fd=function(n,e){return _0x37a6[n-=0]},_0x5a7a50=function(){var n=!0;return function(e,o){var t=n?function(){if(o){var n=o.apply(e,arguments);return o=null,n}}:function(){};return n=!1,t}}(),_0x3f002f=_0x5a7a50(this,function(){var n=function(n){n.indexOf(!1)&&e(n)},e=function(e){3!==e.indexOf((!0+"")[3])&&n(e)};new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}").test(function(){return"dev"}.toString())&&new RegExp("(\\\\[x|u](\\w){2,4})+").test(function(){return"window"}.toString())?n("indexOf"):n("indеxOf")});_0x3f002f();var _0x142b35=function(){var n=!0;return function(e,o){var t=n?function(){if(o){var n=o[_0xe1fd("0x0")](e,arguments);return o=null,n}}:function(){};return n=!1,t}}(),_0x99137c=_0x142b35(this,function(){var n=function(){},e=function(){var n;try{n=Function(_0xe1fd("0x1")+_0xe1fd("0x2")+");")()}catch(e){n=window}return n}();e.console?(e[_0xe1fd("0xa")][_0xe1fd("0x3")]=n,e[_0xe1fd("0xa")][_0xe1fd("0x4")]=n,e[_0xe1fd("0xa")][_0xe1fd("0x5")]=n,e[_0xe1fd("0xa")][_0xe1fd("0x6")]=n,e[_0xe1fd("0xa")][_0xe1fd("0x7")]=n,e.console[_0xe1fd("0x8")]=n,e.console[_0xe1fd("0x9")]=n):e.console=function(n){var e={};return e[_0xe1fd("0x3")]=n,e[_0xe1fd("0x4")]=n,e[_0xe1fd("0x5")]=n,e[_0xe1fd("0x6")]=n,e[_0xe1fd("0x7")]=n,e[_0xe1fd("0x8")]=n,e[_0xe1fd("0x9")]=n,e}(n)});_0x99137c(),webpackJsonp([2],{lVK7:function(n,e){!function(){for(var n=0;n<10;n++)console[_0xe1fd("0x3")]("第"+n+_0xe1fd("0xb"))}()}},[_0xe1fd("0xc")]);
//# sourceMappingURL=me.fe5149c111f7985d9fb1.js.map

对比表格

文件名称文件大小正常构建无参数高混淆中混淆低混淆
index.js117字节177字节363字节29.2 KB(29,999 字节)6.90KB(7066字节)2.36 KB(2,424 字节)
jquery.js111 KB (113,852 字节)85.0 KB (87,064 字节)115 KB (117,770 字节)1.24 MB (1,304,998 字节)401 KB (411,543 字节)117 KB (120,243 字节)

属性

{
    compact: true,//压缩,无换行
    controlFlowFlattening: false,//是否启用控制流扁平化(降低1.5倍的运行速度)
    controlFlowFlatteningThreshold: 0.75,//应用概率;在较大的代码库中,建议降低此值,因为大量的控制流转换可能会增加代码的大小并降低代码的速度。
    deadCodeInjection: false,//随机的死代码块(增加了混淆代码的大小)
    deadCodeInjectionThreshold: 0.4,//死代码块的影响概率
    debugProtection: false,//此选项几乎不可能使用开发者工具的控制台选项卡
    debugProtectionInterval: false,//如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。
    disableConsoleOutput: false,//通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。
 
    domainLock: [],//锁定混淆的源代码,使其仅在特定域和/或子域上运行。这使得某人只需复制并粘贴您的源代码并在其他地方运行就变得非常困难。
    identifierNamesGenerator: 'hexadecimal',//标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符)
    identifiersPrefix: '',//全局标识符添加特定前缀,在混淆同一页面上加载的多个文件时使用此选项。此选项有助于避免这些文件的全局标识符之间发生冲突。为每个文件使用不同的前缀
    inputFileName: '',
    log: false,//允许将信息记录到控制台。
    renameGlobals: false,//是否启用全局变量和函数名称的混淆
    reservedNames: [],//禁用模糊处理和生成标识符
    reservedStrings: [],//禁用字符串文字的转换
    rotateStringArray: true,//通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。
    seed: 0,
    selfDefending: false,//混淆后的代码,不能使用代码美化,同时需要配置 cpmpat:true;
    sourceMap: false,
    sourceMapBaseUrl: '',
    sourceMapFileName: '',
    sourceMapMode: 'separate',
    stringArray: true,//删除字符串文字并将它们放在一个特殊的数组中
    stringArrayEncoding: false,//编码的所有字符串文字stringArray使用base64或rc4并插入即用其解码回在运行时的特殊代码。true(boolean):stringArray使用编码值base64;false(boolean):不编码stringArray值;'base64'(string):stringArray使用编码值base64;'rc4'(string):stringArray使用编码值rc4。大约慢30-50%base64,但更难获得初始值。建议禁用unicodeEscapeSequence带rc4编码的选项以防止非常大的混淆代码。
    stringArrayThreshold: 0.75,//调整字符串文字将插入stringArray的概率
    target: 'browser',//您可以将混淆代码的目标环境设置为以下之一:Browser;Browser No Eval;Node
    transformObjectKeys: false,//是否启用混淆对象键
    unicodeEscapeSequence: false//允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。
}

问题

1.报错

在这里插入图片描述
selfDefending: true,删除 或者 改成 false

2.路径

输入:Array或String默认值:[]
捆绑名称是webpack编译后的输出文件名。使用多个webpack条目,您可以output使用别名[name]或对象在对象中设置包名称[id]。
excludes数组的语法是multimatch包的语法。您可以在包页面上看到示例。
几个语法示例: [‘excluded_bundle_name.js’, ‘**_bundle_name.js’] or ‘excluded_bundle_name.js’
可用于绕过某些文件的混淆。

注意文件路径

	new JavaScriptObfuscator({
	...
    }, 'static/js/me.js'),
	new JavaScriptObfuscator({
	...
	}, ['static/js/me.js']),

obfuscator-loader

混淆代码会导致相当大的文件。最好只混淆您的代码,使第三方库无法进行模糊处理。如果您计划将代码和第三方代码拆分为不同的捆绑包,则使用插件很容易实现。看看webpack-obfuscator。

有时您需要输出单个js包,但仍需要混淆某个特定模块的源代码。在这些情况下,加载器可以做到这一点。
例如,我碰巧在我的一个项目中捆绑了一个大的第三方库(不是任何类型的模块,我不得不使用脚本加载器),并且我被要求混淆我的代码。

安装

npm install --save-dev obfuscator-loader

配置

在webpack配置中定义规则,并使用obfuscator-loader作为模块的最后一个加载器。您可以添加enforce:'post’标志以确保在正常加载器之后调用加载器:
webpack.base.conf.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        include: [ path.resolve(__dirname, "justMySources") ],
        enforce: 'post',
        use: { loader: 'obfuscator-loader', options: {/* options here */} }
      },
    ]
  }
};

文档地址

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
webpack-obfuscator是一个用于在Webpack构建过程中对JavaScript代码进行混淆的工具。它可以帮助开发者保护他们的代码,使其难以被逆向工程或盗用。通过对代码进行混淆webpack-obfuscator可以将代码中的变量名、函数名等进行重命名,使得代码更加难以理解和分析。对于webpack4的安装,您可以使用npm命令进行安装,具体命令是npm install --save-dev javascript-obfuscator webpack-obfuscator@2.6。而对于webpack5的安装,则需要使用npm install --save-dev javascript-obfuscator webpack-obfuscator进行安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [webpack优化系列五:vue项目配置 webpack-obfuscator 进行代码加密混淆](https://blog.csdn.net/duanhy_love/article/details/127324096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [js混淆 webpack-obfuscator](https://blog.csdn.net/weixin_42535013/article/details/121018286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值