0

我想为我的客户提供对运行 Java 应用程序的专用服务器的有限访问权限。客户端会写一些插件并运行 Java 应用程序(它是一个控制台应用程序)。该应用程序具有我想防止反编译和配置的代码,这些代码可以从插件中访问,因为它们都将在同一个 JVM 中运行。我想确保客户端仅使用我的应用程序的 API 和一些标准 Java 类,但不能对我的应用程序进行时髦的类加载和逆向工程。

有没有办法保护我的代码和配置免于反编译/下载?我知道有很多主题致力于 jar 文件的混淆和加密,普遍的共识是保护是不可能的,但我认为这与我的情况无关,因为我控制执行环境,可以设置权限等。这是一个 Ubuntu 12.04 盒。

我不确定我是否可以授予具有有限读取/执行权限的客户端 shell 访问权限并安全地进行设置。任何指针?谢谢。

4

1 回答 1

0

如果它在同一个 JVM 中运行,这是不可能锁定的。

反射可以得到类。

Class<?> class_ = Class.forName("foo.bar");

方法,

class_.getMethod("bax");

几乎所有其他东西。

它可以创建新对象,并在它们上调用方法而不考虑可见性(公共、私有等)

于 2013-11-14T04:36:57.207 回答