这个Javascript MD5实现让我感到困惑。 在全局空间中,作者声明了一个var: 稍后,将出现以下方法: 我不明白的路线是: 作者试图在这里完成什么? ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试使用javascript-obfuscator对Node.js项目进行混淆处理,它可以很好地处理多个文件,但是在特定的文件中总是会失败。 有问题的文件具有以下代码:
ESTAÇÃO-meteorologica.js:
'use strict';
class EstacaoMeteorologica {
constructor(urlDadosEstacao, urlDadosMeteorologicos, fazenda) {
console.log('Do nothing');
}
}
module.exports = EstacaoMeteorologica;
使用的命令:
node_modules/.bin/javascript-obfuscator ./ --exclude node_modules --output ./dist
结果:
/* A lot of files before... */
[javascript-obfuscator-cli] Obfuscating file: servers\server-estacao-meteorologica\models\index.js...
[javascript-obfuscator-cli] Obfuscating file: servers\server-estacao-meteorologica\models\observacoes.js...
[javascript-obfuscator-cli] Obfuscating file: servers\server-estacao-meteorologica\models\SequelizeMeta.js...
[javascript-obfuscator-cli] Obfuscating file: servers\server-estacao-meteorologica\services\estacao-meteorologica.js...
C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\EspreeFacade.ts:100
throw new Error(`Line ${position.line}: ${errorMessage}\n${formattedPointer} ${formattedCodeSlice}`);
^
Error: Line 50: 'return' outside of function
> ...return;...
at Function.value (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\EspreeFacade.ts:100:15)
at Function.processParsingError (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\EspreeFacade.ts
:44:46)
at e.parse (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\JavaScriptObfuscator.ts:154:29)
at e.parseCode (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\JavaScriptObfuscator.ts:135:46)
at Function.obfuscate (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\JavaScriptObfuscatorFacad
e.ts:31:70)
at Function.obfuscate (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\cli\JavaScriptObfuscatorC
LI.ts:109:61)
at e.processSourceCodeWithoutSourceMap (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\cli\Java
ScriptObfuscatorCLI.ts:410:37)
at e.apply (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\decorators\Initializable.ts:105:39)
at processSourceCode (C:\Users\helio.filho\Documents\Repos\bit_repos\jerry-mouse\node_modules\javascript-obfuscator\dist\webpack:\JavaScriptObfuscator\src\cli\JavaScriptObfuscatorCL
I.ts:379:22)
at Array.forEach (<anonymous>)
我认为javascript-obfuscator本身存在问题。 使用./递归混淆所有文件是造成此问题的原因。 解决方案是对每个目录执行几次。 例:
node_modules/.bin/javascript-obfuscator ./foo/foo2 --exclude node_modules --output ./dist
node_modules/.bin/javascript-obfuscator ./bar --exclude node_modules --output ./dist
node_modules/.bin/javascript-obfuscator ./dir3 --exclude node_modules --output ./dist
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.