可能重複:
Jar executable that cannot be decompiled「undecompilable」 源代碼
我怎樣才能讓 「undecompilable」 源java嗎?我有一個microedition應用程序,有我需要隱藏的代碼 這可能嗎?
在此先感謝
可能重複:
Jar executable that cannot be decompiled「undecompilable」 源代碼
我怎樣才能讓 「undecompilable」 源java嗎?我有一個microedition應用程序,有我需要隱藏的代碼 這可能嗎?
在此先感謝
你不能。看到這個問題:
make your Jar not to be decompiled
看上去很有趣的主題書:
http://apress.com/book/view/9781590592656
+1來抵消無謂的-1。 – 2010-09-26 16:07:18
@Andrew投票的方式如此。對你毫無意義,對別人很有意思。 :) – bzlm 2010-09-26 16:23:14
你不能讓代碼undecompilable,你只能混淆它:
你可以試試混淆,但是無論如何,沒有人會想要偷你的醬汁代碼,所以我想這更多是爲了安心。當涉及到它時,一切都可以在一定程度上分解,否則操作系統將無法運行任何程序!
總之。您可以對代碼進行混淆處理,以避免某人閱讀並重復使用代碼。如果這是你想要的,它也可能使人們很難看到它的功能。但並非不可能。
如果你真的想要你的用戶,你知道,使用該程序,他們需要能夠運行該程序。爲了能夠運行程序,CPU必須能夠瞭解該程序。 CPU比人類更愚蠢,所以這意味着人類也可以理解程序。
如果以人爲無法理解的方式混淆程序,這也意味着它不能被執行。
如果你不想讓人們訪問你的代碼,只有一個辦法:不要給他們。把它放在服務器上,讓你的用戶通過網絡連接到它。
但是,所有這些都是完全不必要的,因爲無論如何,您的代碼都會受版權法自動保護,這比任何模糊處理都要強大得多。
此問題已被許多僞裝問過*許多次。答案是1)使用混淆器,2)即使這樣也不會阻止確定的逆向工程師。 – 2010-09-26 09:39:50
斯蒂芬C是對的。下面是一個關於這個主題的有趣的書,在交叉引用的問題中沒有引用:http://apress.com/book/view/9781590592656 – gkrogers 2010-09-26 21:06:30
嘗試[Proguard](http://proguard.sourceforge.net/) )。 – Mot 2010-09-26 08:16:53