【问题标题】:Nodejs - obfuscate entire project - gulp-javascript-obfuscatorNodejs - 混淆整个项目 - gulp-javascript-obfuscator
【发布时间】:2020-05-29 20:52:11
【问题描述】:

我是 Nodejs 的新手,我有一个 Nodejs 项目,其中大约 80 个 JS 文件分布在不同的子目录中,并且一些 js 文件在项目中被重用。我想混淆代码,因为该项目已交付并安装在我无法控制的客户端系统上,并且有权访问客户端的任何人都可以看到代码。 目前我正在使用 gulp node-module 来构建我的项目工件的 tar 文件。我遇到了一些关于使用节点模块进行 javascript 混淆的帖子:javascript-obfuscator 和 gulp-javascript-obfuscator。我看到的示例是针对单个文件的混淆,而不是针对整个 nodejs 项目。

我在 javascript-obfuscator npm 页面上看到一个关于混淆整个目录的 sn-p:

javascript-obfuscator ./dist --output ./dist/obfuscated [options] // creates a folder structure with obfuscated files under ./dist/obfuscated path

我想使用 gulp-javascript-obfuscator 节点模块来混淆我的整个项目。如果你们能指导我或发布一个 Gulp 任务的 sn-p 可以做到这一点,那就太好了。

另一方面:如果我的一个 js 文件正在导入另一个带有 require(mycode-api) 的文件,那么在混淆之后会将此更改为 require(mycode-api-obfuscated)。 参考: https://www.npmjs.com/package/javascript-obfuscator https://github.com/javascript-obfuscator/gulp-javascript-obfuscator

【问题讨论】:

    标签: javascript node.js gulp obfuscation


    【解决方案1】:

    要混淆整个项目,试试这个:

    gulp.src(['src/**/*.js'])
        .pipe(javascriptObfuscator())
        .pipe(gulp.dest('../dist'));
    
    

    【讨论】:

      【解决方案2】:
      var gulp = require('gulp');
      var pipelines = require('readable-stream').pipeline;
      const javascriptObfuscator = require('gulp-javascript-obfuscator');
      
      gulp.task('min-js', function () {
          return pipelines(
              gulp.src('js/*.js'),
              javascriptObfuscator(),
              gulp.dest('dist')
          );
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 2020-07-05
        • 1970-01-01
        • 2013-07-26
        • 2012-09-10
        • 1970-01-01
        相关资源
        最近更新 更多