javascript - 字符串中的有效nodejs代码到javascript对象

标签 javascript node.js

我的目标:我试图将 .js 文件加密为 .jse,并仅在运行时解密(混淆 Nodejs 代码)。

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'));

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

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

最佳答案

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

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

快乐调试加密模块;)

关于javascript - 字符串中的有效nodejs代码到javascript对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234991/

相关文章:

javascript - 如何处理有 31 天的月份和只有 30 天的月份?

angularjs - gulp 错误 : spawn EACCES

javascript - Leaflet.Geosearch : get lon/lat from address

javascript - 当我传入图像数据字符串(基数 64)时,图像加载似乎被提前调用

javascript - 从 AngularJS 上传文件到 Laravel

arrays - 如何: REST API that passes and array of key/value pairs

javascript - 在 MVVM View 模型中处理应用程序范围的元素

javascript - ajax、php、mysql 和 javascript 的棘手情况

javascript - 为什么我的正则表达式不能正常工作?

javascript - 你能请这个选项(扩展 : false) used in express. urlencoded 吗?