我正在创建一个启动JVM的应用程序(使用JRE的副本)。如果我编辑rt.jar,例如删除用户不应该访问的功能,它会以某种方式破坏JRE吗?
编辑:应用程序涉及到将代码下载到用户的机器上,因此它将限制代码而不是用户。我可能应该澄清这一点。
发布于 2011-02-05 03:48:22
通常,删除功能的最好方法是使用SecurityManager。这使您可以控制可以访问的内容或可以执行的关键操作。
发布于 2011-02-05 03:37:29
您很有可能会破坏一些在运行时之前不会被注意到的东西。
但也许更重要的是许可问题:您的应用程序正在发布其自己版本的JRE,这是允许您这样做的,除非您不能根据the J2SE license修改您正在分发的JRE
...您分发的软件完整且未经修改,仅作为您的小程序和应用程序(“程序”)的一部分捆绑销售。
“删除用户不应该访问的功能”是什么意思也是值得怀疑的。您的应用程序在用户帐户的上下文中执行,以及您从JRE中删除的任何功能:
发布于 2011-02-05 03:36:24
完全取决于你“移除”了什么。但这是可能的。只要你不破坏任何东西,移除依赖等。
如果你想做一些安全方面的事情。如何确保您且只有您能够完全控制用户的JRE?
如果是这样的话。在你的应用程序中不能做的事情,你所做的有什么好处呢?
但出于某些原因,这是可能的,也是一个有效的想法。但它们主要是基准测试、开发、调试。例如,转储未加密的字节码
还要注意许可问题。你可能在法律上不能出售或运输这个东西。
https://stackoverflow.com/questions/4902115
复制相似问题