Java代码安全性



可能重复:
你会混淆你的商业Java代码吗?

除了混淆之外,还有其他方法可以保护罐子不被其他人打开吗?问题是我不希望任何人访问代码,这就是为什么我不喜欢Java。从我使用的反编译器来看,用C#和Java制作的程序与变量的名称一样,一切都完好无损,这将使访问非免费程序变得容易。更糟糕的是,给出源代码。

上面的评论涵盖了这些要点,但我将在这里对它们进行一些扩展:

如果你的代码在用户的机器上运行,用户可以反编译你的代码。它是什么语言并不重要。Java、C、空白、脑残,都不重要。如果代码在计算机上运行,人类可以读取。即使你自己制作自制语言和编译器,编译的代码仍然是一系列标准的机器指令,反编译器会很容易地将其转换为C或任何你喜欢的语言的可读代码。

没有例外。忘掉它吧。

但有一些方法可以得到你想要的:保护一些秘密的商业逻辑。实现这一点的一个简单方法是将业务逻辑放置在您自己的机器上,并用web服务公开它。用户仍然可以看到客户端请求和服务响应,但除此之外,您的逻辑就是一个黑匣子。

你也可以制作自己的机器,锁定它们,然后将它们分发给用户。请注意,尽管这是可能的,但从技术上讲,要做到这一点相当困难(想想所有被黑客入侵的游戏机和智能手机(,这将大大增加您的服务成本。

据我所知,jar文件(使用NetBeans生成(可能只包含.class文件,这些文件是Java位代码,而不是源代码。我不知道是否有一种方法可以对.class文件进行反向工程,但它几乎没有ASCII可用文本。

最新更新