字符串形式的有效nodejs代码到javascript对象
我的目标是:我试图将.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()可以打印出源代码。字符串形式的有效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
问题:解密的代码是一个普通字符串,我无法将其转换为用于导出的有效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);
};