修改nodejs源码:
扩展对于扩展名为“.jsa“文件的支持,可以参考前文:。
Module._extensions['.jsa'] = function (module, filename) {
var buffer = fs.readFileSync(filename, 'utf8')
var content = aes.dec(buffer, "405dca065dbd11e89c2dfa7ae01bbebc");
module._compile(internalModule.stripBOM(content), filename);
};
其中aes参考,https://github.com/samsha1971/gulp-aes/blob/master/lib/aes.js。
加密自己开发的nodejs项目:
把项目中的js全部加密成jsa,工具和例程参考:https://github.com/samsha1971/gulp-aes。
用修改编译后的node启动加密后的项目。 向客户交付编译后node和加密的项目,就不在担心源码泄露问题了。