webpack-obfuscator 打包卡住了
如何解决?
之前用gulp
做过代码混淆,可以参考下
let secretKey = Number((((Math.random() * 100) / 100).toFixed(2)));
let htmlmin = require('gulp-html-minifier-terser');
let gulp = require('gulp');
let gulpJavaScriptObfuscator = require('gulp-javascript-obfuscator');
let cleanCSS = require('gulp-clean-css');
let sourcemaps = require('gulp-sourcemaps');
console.log('%c密钥:' + secretKey, 'color: #2563fc');
gulp.task('one', function (cb) {
gulp.src('tools' + '/**/*.js')
.pipe(gulpJavaScriptObfuscator({
compact: true,
selfDefending: true,
// Type: number Default: 0.75 Min: 0 Max: 1
controlFlowFlatteningThreshold: secretKey,
deadCodeInjectionThreshold: 0.7
}))
.pipe(gulp.dest('dist'));
cb();
});
gulp.task('two', function (cb) {
gulp.src('tools' + '/**/*.html')
.pipe(htmlmin({
removeComments: true,
collapseWhitespace: true,
collapseBooleanAttributes: true,
removeEmptyAttributes: true,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true
}))
.pipe(gulp.dest('dist'));
cb();
});
gulp.task('three', function (cb) {
gulp.src('tools' + '/**/*.css')
.pipe(cleanCSS({
compatibility: 'ie8',
level: 2,
debug: true
}))
.pipe(sourcemaps.init())
// .pipe(sourcemaps.write())
.pipe(gulp.dest('dist'));
cb();
});
gulp.task('default', gulp.series(['one', 'two', 'three']));
压缩前代码
let a = 1;
let b = 2;
console.log(a + b);
压缩后代码
const _0xf15c04 = _0x187e;
(function (_0x396a13, _0x5ad26c) {
const _0x28d0c2 = _0x187e,
_0x5a47c5 = _0x396a13();
while (!![]) {
try {
const _0x2f552b =
parseInt(_0x28d0c2(0x1ad)) / 0x1 +
(-parseInt(_0x28d0c2(0x1a5)) / 0x2) *
(parseInt(_0x28d0c2(0x1a2)) / 0x3) +
-parseInt(_0x28d0c2(0x1aa)) / 0x4 +
-parseInt(_0x28d0c2(0x1af)) / 0x5 +
parseInt(_0x28d0c2(0x1a9)) / 0x6 +
-parseInt(_0x28d0c2(0x1a6)) / 0x7 +
(-parseInt(_0x28d0c2(0x1ac)) / 0x8) *
(-parseInt(_0x28d0c2(0x1a3)) / 0x9);
if (_0x2f552b === _0x5ad26c) break;
else _0x5a47c5['push'](_0x5a47c5['shift']());
} catch (_0x105ff3) {
_0x5a47c5['push'](_0x5a47c5['shift']());
}
}
})(_0x9158, 0xaab2b);
const _0xfb2da3 = (function () {
let _0x15a21a = !![];
return function (_0x302b0c, _0x2137c2) {
const _0x15f07e = _0x15a21a
? function () {
if (_0x2137c2) {
const _0x4441b7 = _0x2137c2['apply'](_0x302b0c, arguments);
return (_0x2137c2 = null), _0x4441b7;
}
}
: function () {};
return (_0x15a21a = ![]), _0x15f07e;
};
})(),
_0x1eb508 = _0xfb2da3(this, function () {
const _0x2b4d0e = _0x187e;
return _0x1eb508[_0x2b4d0e(0x1ae)]()
[_0x2b4d0e(0x1a8)](_0x2b4d0e(0x1a7))
[_0x2b4d0e(0x1ae)]()
[_0x2b4d0e(0x1ab)](_0x1eb508)
['search'](_0x2b4d0e(0x1a7));
});
function _0x187e(_0x14704a, _0x1028c8) {
const _0xd77a5a = _0x9158();
return (
(_0x187e = function (_0x1eb508, _0xfb2da3) {
_0x1eb508 = _0x1eb508 - 0x1a2;
let _0x915831 = _0xd77a5a[_0x1eb508];
return _0x915831;
}),
_0x187e(_0x14704a, _0x1028c8)
);
}
_0x1eb508();
let a = 0x1,
b = 0x2;
console[_0xf15c04(0x1a4)](a + b);
function _0x9158() {
const _0x51cf10 = [
'log',
'40270otQfWW',
'7613935CJdSHe',
'(((.+)+)+)+$',
'search',
'3769260eAQSJE',
'1788176teHVhY',
'constructor',
'31237352YDnhXX',
'99314RJjfze',
'toString',
'5850150CLcteH',
'183hKyBuy',
'9MSrNQx',
];
_0x9158 = function () {
return _0x51cf10;
};
return _0x9158();
}
当 webpack-obfuscator
打包卡住时,可能的原因有很多。以下是一些建议的解决步骤:
webpack
、webpack-cli
、webpack-obfuscator
和其他相关插件和加载器都是最新版本。过时的依赖可能会导致问题。webpack-obfuscator
的混淆设置,看看是否是某些特定的混淆选项导致了问题。逐步增加混淆级别,直到找到问题的根源。--profile
标志运行 webpack,以获取有关构建时间的更多信息。这可以帮助你找出哪些模块或插件在构建过程中花费了最多的时间。webpack-obfuscator
仍然无法正常工作,你可以考虑使用其他混淆工具,如 javascript-obfuscator
。webpack-obfuscator
的最小可复现代码。这有助于你确定问题是否与你的特定代码或配置有关。webpack-obfuscator
的 GitHub 仓库中报告一个问题。请注意,由于我无法直接查看你的具体代码或配置,这些建议可能需要根据你的具体情况进行调整。
"webpack-obfuscator": "2.6.0" 更新到生产环境发现有一个页面打不开,我排除掉node_modules,但是好像不生效,不知道什么原因。 有问题的页面用到了tinymce和moment 怎么解决?
JavaScript Obfuscator 是一款功能强大的代码混淆器,能将原始代码混淆成可读性低的代码,看上去是难以阅读的代码不过具备和之前代码一样的功能,从而起到保护代码的作用。 特性 重命名变量 字符串提取和加密 注入死代码 控制流扁平化 代码转换 …… 使用示例 var JavaScriptObfuscator = require('javascript-obfuscator');var
Web UI for JavaScript Obfuscator This project is a web interface to the javascript obufscator project. You can see it running here: obfuscator.io Running it Building the react project: $ yarn # or npm
本文向大家介绍webpack打包单页面如何引用的js,包括了webpack打包单页面如何引用的js的使用技巧和注意事项,需要的朋友参考一下 目录结构如下图所示: webpack打包代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍详解webpack+vue-cli项目打包技巧,包括了详解webpack+vue-cli项目打包技巧的使用技巧和注意事项,需要的朋友参考一下 1.设置config文件夹index.js中productionSourceMap的值为false,也就是设置webpack配置中devtool为false,打包后文件体积可以减少百分之八十!!!!!!! 2.如何实现打包文件中js、css等
EDIT2:测试过了。这无疑是新JPanel的一个问题。 解决方案:正如建议的那样,答案是我忘了明确地将我的JPanel设置到JFrame上。改变: 到 这对我很管用! 我的问题是JFrame的一个奇怪行为。 在我的代码中,我的主机上有一个单选按钮。按下时,会打开另一个框架。 在我的新框架里,我做了一个JPanel。在添加JPanel之前,另一个框架没有冻结,所以我相信问题与新的JPanel有关。