Javascript 如何在Chrome应用程序中保护一些代码?

Javascript 如何在Chrome应用程序中保护一些代码?,javascript,security,google-chrome-app,Javascript,Security,Google Chrome App,如果我的所有行为都是由客户端上运行的JavaScript管理的,那么我就看不到一种我可能不想让全世界看到的黑盒代码(例如,插入的硬件设备的内部细节)。是否有办法保存某些项目,使其不会在右键单击->检查元素中暴露 通常,webapp的专有部分是在服务器端处理的(在服务器端也可能有更大的计算能力)。我在chromeapp上写的所有东西都是开放的吗?没有办法防止有人篡改部署到客户端的任何应用程序,尤其是JavaScript应用程序。这同样适用于Chrome应用程序。对于代码:你能做的最好的事情就是把它

如果我的所有行为都是由客户端上运行的JavaScript管理的,那么我就看不到一种我可能不想让全世界看到的黑盒代码(例如,插入的硬件设备的内部细节)。是否有办法保存某些项目,使其不会在
右键单击->检查元素中暴露


通常,webapp的专有部分是在服务器端处理的(在服务器端也可能有更大的计算能力)。我在chromeapp上写的所有东西都是开放的吗?

没有办法防止有人篡改部署到客户端的任何应用程序,尤其是JavaScript应用程序。这同样适用于Chrome应用程序。

对于代码:你能做的最好的事情就是把它弄得丑陋不堪。这使得反编译和复制/粘贴变得更加困难

对于数据:(例如密码、私钥),您有几个可能的攻击者:

  • 用户愿意通过操作系统工具和调试器攻击您的应用程序
  • 恶意软件进程攻击你的应用程序
  • 1) 如果具有root访问权限的用户正在攻击你的应用程序,只要有足够的时间和技术,他们就会赢。最好的防御是限制他们可以攻击的“表面积”。在内存中加密您的私有数据,并在使用未加密的版本后解除分配/垃圾收集它。Javascript在帮助您实现这一点上不会太棒

    2) 如果恶意进程正在攻击你的应用程序,那么你的应用程序和你的操作系统一样安全。如果恶意软件是root,则与1)相同。同样,最好的选择是限制表面积

    也就是说,像密码管理器这样的浏览器扩展一直都在存储安全数据,所以这并非闻所未闻

    您可能对以下链接感兴趣:


    比如说,usb通信就是通过查看comms.js文件来实现的?无法将其作为后台脚本或存储在应用程序的其他地方?@tarabyte没错。没有办法隐藏它。即使您可以从应用程序的角度来看,您的USB流量也很容易捕获。我承认,大多数情况下,没有一个很好的方法来隐藏事情,只是为了让它们变得更琐碎。如果有任何方法至少可以增加获得这些的难度,请让我知道。@tarabyte没有。如果您查看关于混淆JavaScript的堆栈溢出的所有前面的问题,您将发现更深入的推理。简而言之,JavaScript引擎需要访问JavaScript代码本身才能运行,而不是某种中间二进制格式。这是为了方便对函数和其他函数执行
    toString()
    。你最好的做法是制定明确的许可条款,对你的应用程序实施反向工程处罚,这样当有人窃取你试图隐藏的任何东西时,你就有了一些法律选择。听起来对我来说是个好问题。。。不知道为什么它被否决了,所以我投票支持它。看更多。人们是否能看到您的客户端代码很少有关系。编写软件是建立成功的企业或产品最容易的部分。