我不想保护我在exe文件中打包的node-webkit桌面应用程序的代码。 问题不是直接在文件上,而是使用专用端口进行远程调试。
也许我还没有理解,但在Windows上,如果我执行“netstat -a -o”命令,我会看到一个与应用程序关联的开放端口,如果我在浏览器上打开此端口,我有一个带有“Inspectable WebContents”的页面和指向webkit应用程序的链接。
使用此调试窗口,可以访问应用程序的所有源,但我不知道如何禁用此功能。
答案 0 :(得分:1)
目前,我认为没有实际的方法可以在nw.js中禁用远程调试。
即便如此,根据wiki,远程调试似乎只能通过命令行开关执行。因此,您可以阻止chromium命令行开关(或仅--remote-debugging-port
)以防止用户进行任意远程调试,直到nw.js支持禁用远程调试功能。
例如:
const gui = require('nw.gui');
const app = gui.App;
for (let element of app.fullArgv) {
// app.argv has only user's switches except for the chromium args
if (app.argv.indexOf(element) < 0) {
app.quit(1); // invalid args!
}
}
但是,我不太确定上面的代码可以保护您的应用程序代码,因为nw.js在内部使用Chromium。这样,应用程序代码将在初始化时在临时文件夹中提取。鉴于以上解决方案并未真正保护您的nw.js应用程序。查看更多详情:https://github.com/nwjs/nw.js/issues/269
注意: node-webkit
已将名称更改为nw.js