有效的nodejs代码在string到javascript对象

我的目标:我正在尝试将.js文件encryption成.jse文件,并且只在运行时解密(混淆nodejs代码)。

 var ffi = require('ffi');

 //libpcrypt.so是一个encryption和解密文件的库
 var crypt = ffi.Library('./ libpcrypt',{
   'decrypt':['string',['string','string']]
 });

 require.extensions [“。jse”] = function(module){
    module.exports =(crypt.decrypt(module.filename,'out'));
 };

的console.log(要求( './ routes.jse'));

我知道,用cosole.log()的源代码可以打印出来。

问题:解密代码是一个纯string,我无法将其转换为有效的JavaScript对象的导出。 有没有办法导出我解密的代码string?

这是您的解决scheme(未testing):

require.extensions['.jse'] = function(module, filename) { var content = crypt.decrypt(fs.readFileSync(filename), 'out') return module._compile(content, filename); }; 

快乐debuggingencryption模块;)

module.exports是一个你可以分配的对象(即:module.exports.newFunc = someFunction;)

 JSON.parse(crypt.decrypt(module.filename, 'out')); 

编辑所以你应该让你的encryption文件一个JSON类或检查出这个答案类似的问题加载“香草”Javascript库到Node.js