2010-09-26 61 views
1

可能重复:
Jar executable that cannot be decompiled“undecompilable” 源代码

我怎样才能让 “undecompilable” 源java吗?我有一个microedition应用程序,有我需要隐藏的代码 这可能吗?

在此先感谢

+5

此问题已被许多伪装问过*许多次。答案是1)使用混淆器,2)即使这样也不会阻止确定的逆向工程师。 – 2010-09-26 09:39:50

+0

斯蒂芬C是对的。下面是一个关于这个主题的有趣的书,在交叉引用的问题中没有引用:http://apress.com/book/view/9781590592656 – gkrogers 2010-09-26 21:06:30

+0

尝试[Proguard](http://proguard.sourceforge.net/) )。 – Mot 2010-09-26 08:16:53

回答

0

你可以试试混淆,但是无论如何,没有人会想要偷你的酱汁代码,所以我想这更多是为了安心。当涉及到它时,一切都可以在一定程度上分解,否则操作系统将无法运行任何程序!

+0

咦?我没有得到关于操作系统的部分...... – Mchl 2010-09-26 08:25:59

+1

如果操作系统可以将可执行文件中的数据转换为处理器指令,那么可以将其转换为程序集,至少在理论上可以将其转换为已知的任何编程语言男人,甚至LOLCODE。 – 2010-09-26 08:40:02

+1

@Mchl:即使是二进制机器代码也有一定意义,因此可以用一些难度翻译成更高级的表示形式 – IanGilham 2010-09-26 08:40:19

1

总之。您可以对代码进行混淆处理,以避免某人阅读并重复使用代码。如果这是你想要的,它也可能使人们很难看到它的功能。但并非不可能。

-3

如果你真的想要你的用户,你知道,使用该程序,他们需要能够运行该程序。为了能够运行程序,CPU必须能够了解该程序。 CPU比人类更愚蠢,所以这意味着人类也可以理解程序。

如果以人为无法理解的方式混淆程序,这也意味着它不能被执行。

如果你不想让人们访问你的代码,只有一个办法:不要给他们。把它放在服务器上,让你的用户通过网络连接到它。

但是,所有这些都是完全不必要的,因为无论如何,您的代码都会受版权法自动保护,这比任何模糊处理都要强大得多。

+1

代码是在手机里面,我没有把它隐藏起来 – iberck 2010-09-26 16:09:19

+0

örg那么,你写的只是理论上的真实,甚至如此,只是在一个非常普遍的层面上。当然,有些方法可能会以“人类无法理解的方式混淆你的程序”,但要保持它的工作。虽然也许不是在这个特定的技术背景下。 – bzlm 2010-09-26 16:24:59