Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串形式的有效nodejs代码到javascript对象_Javascript_Node.js - Fatal编程技术网

字符串形式的有效nodejs代码到javascript对象

字符串形式的有效nodejs代码到javascript对象,javascript,node.js,Javascript,Node.js,我的目标是:我试图将.js文件加密到.jse中,并仅在它运行时解密(混淆nodejs代码) var ffi=要求(“ffi”); //libpcrypt.so是一个用于加密和解密文件的库 var crypt=ffi.Library('./libpcrypt',{ '解密':['string',['string','string']] }); require.extensions[“.jse”]=函数(模块){ module.exports=(crypt.decrypt(module.filena

我的目标是:我试图将.js文件加密到.jse中,并仅在它运行时解密(混淆nodejs代码)

var ffi=要求(“ffi”); //libpcrypt.so是一个用于加密和解密文件的库 var crypt=ffi.Library('./libpcrypt',{ '解密':['string',['string','string']] }); require.extensions[“.jse”]=函数(模块){ module.exports=(crypt.decrypt(module.filename,'out'); }; log(require('./routes.jse')); 我知道,用cosole.log()可以打印出源代码。


问题:解密的代码是一个普通字符串,我无法将其转换为用于导出的有效javascript对象。是否有方法导出我解密的代码字符串?

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


编辑因此,您应该将加密文件设置为JSON类,或者查看类似问题的答案

module.exports是可以指定给的对象(即:module.exports.newFunc=someFunction;)

编辑因此,您应该将加密文件设置为JSON类,或者查看类似问题的答案

以下是您的解决方案(未经测试):

快乐调试加密模块;)

这是您的解决方案(未经测试):


快乐调试加密模块;)

它不起作用。因为字符串是普通的,而不是JSON.stringify生成的。解析错误:
SyntaxError:Unexpected-token e
@mv945-所以您应该将加密文件设置为JSON类,或者查看您为我指出正确方向的类似问题的答案。谢谢但是我不能接受你的答案,除非你编辑它:)它不起作用。因为字符串是普通的,而不是JSON.stringify生成的。解析错误:
SyntaxError:Unexpected-token e
@mv945-所以您应该将加密文件设置为JSON类,或者查看您为我指出正确方向的类似问题的答案。谢谢但我不能接受你的答案,除非你编辑:)谢谢。我也看到了。但是我得到了
SyntaxError:Unexpected token非法
。我认为这是编码问题,并转换为utf-8。但没有用。这段代码应该可以工作,因为这段代码是从工作库中偷来的。检查您试图编译的源代码。我仍在与错误作斗争。你认为这可能是编码问题吗?还有其他建议吗?.你在
console.log(content)上看到了什么?预期的源代码?如果用一些简单的例子替换真实代码,比如
module.exports=2+2我看到了真正的代码。我试着用
var x=10
这样简单的方法。还是一样的问题,谢谢。我也看到了。但是我得到了
SyntaxError:Unexpected token非法
。我认为这是编码问题,并转换为utf-8。但没有用。这段代码应该可以工作,因为这段代码是从工作库中偷来的。检查您试图编译的源代码。我仍在与错误作斗争。你认为这可能是编码问题吗?还有其他建议吗?.你在
console.log(content)上看到了什么?预期的源代码?如果用一些简单的例子替换真实代码,比如
module.exports=2+2我看到了真正的代码。我试着用
var x=10
这样简单的方法。还是一样的问题。 var ffi = require('ffi'); //libpcrypt.so is a library to encrypt and decrypt files var crypt = ffi.Library('./libpcrypt', { 'decrypt' : [ 'string', ['string', 'string']] }); require.extensions[".jse"] = function (module) { module.exports = (crypt.decrypt(module.filename, 'out')); }; console.log(require('./routes.jse'));
JSON.parse(crypt.decrypt(module.filename, 'out'));
require.extensions['.jse'] = function(module, filename) {
  var content = crypt.decrypt(fs.readFileSync(filename), 'out')
  return module._compile(content, filename);
};