还有其他方法来保护罐子不被别人打开吗?问题是,我不希望任何人访问代码,这就是我不喜欢Java的原因。从我使用的反编译器来看,用C#和Java制作的程序拥有所有东西,比如变量的名称完整,这样就可以很容易地访问不免费的程序。更糟的是,给出源代码。
发布于 2012-12-22 08:00:32
上面的评论涵盖了这些要点中的大多数,但我将在这里对它们做一些详细的阐述:
如果您的代码在用户的计算机上运行,则用户可以对代码进行反编译。不管是什么语言。Java,C,空格,brainfuck,没关系。如果代码在计算机上运行,人类就可以读取它。即使您制作了自己的自制语言和编译器,编译后的代码仍将是一系列标准的机器指令,反编译器将轻松地以C或任何您喜欢的语言转换成可读的代码。
无例外。算了吧。
但是有一些方法可以得到你想要的:保护一些秘密的商业逻辑。要做到这一点,一种简单的方法是将业务逻辑放在您自己的机器上,并使用web服务公开它。用户仍然可以看到客户端请求和服务响应,但否则您的逻辑是一个黑匣子。
您还可以制造自己的机器,锁定它们,并将它们分发给用户。请注意,虽然这是可能的,但在技术上很难正确地做到(想想所有被黑客攻击的游戏机和智能手机),这将大大增加您的服务成本。
发布于 2012-12-22 07:52:12
据我所知,jar
文件(用NetBeans生成)可能只包含.class
文件,它们是Java,而不是源代码。我不知道是否有办法反向工程一个.class
文件,但它几乎没有ASCII可用的文本。
https://stackoverflow.com/questions/14000887
复制相似问题