繁体   English   中英

客户端文件的node.js模糊处理工具

[英]node.js obfuscate tool for client-side files

我正在寻找类似该工具或类似工具的东西: http : //javascriptobfuscator.com/Javascript-Obfuscator.aspx

但是作为node.js的模块,因此您可以在发送客户端js文件之前先对其进行混淆处理。

上面的url工具可以做一些事情,但最重要的是,它可以将引号和变量名之间的字符串更改为不可读的形式。

我试图只为编码字符串编写代码,但是这使我的代码坏了:

var output = str.replace(/(")(([^"\\]|\\.)+)(")/gi, function(match, p1, p2, p3, p4) {
     return p1 + someEncodingFunc(p2) + p4;
});

编辑:

感谢robertklep,我找到了Confusion模块。 它几乎做得很好。 也许有人可以帮助我解决这个问题? https://github.com/uxebu/confusion/issues/1

您可以在项目页面的此代码输出中看到问题:

(function(_x24139) {
  a[_x24139[0]](called[_x24139[1]](_x24139[2]));
  an[_x24139[3]](_x24139[4], _x24139[5], _x24139[6]);
}).call(
  this,
  ["property", "with", "a string literal", "other", "call", "is", "here"]
);

我需要的是混淆数组中的这些字符串。 我注意到,如果字符串中有任何utf8字符,那么它将混淆为\\ uXXXX形式。 但是只有utf8。 如果那样会使ascii混淆为\\ xYY格式,那么..基本上是所有字符。

您为什么不尝试使用JScrambler呢? 它不仅具有更多针对字符串和控制流的源代码转换,而且还具有大量代码陷阱和称为自卫的运行时保护。 而且,它对我来说是开箱即用的。 他们声称与那里的每个JS库兼容,现在,它们是唯一正式支持Node.js的解决方案AFAIK:
Jscrambler合规报告

我认为Uglify不是一个好选择。 这是一个代码优化器,并不是要保护您的代码。 它确实重命名了变量和函数,但是这太弱了,无法考虑保护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM