2012-09-06 38 views
1

我發現我們可以通過使用反編譯軟件來讀取JAR文件的軟件源代碼。我下載了這樣的軟件並閱讀了很多這樣的代碼。我們可以從安裝文件中揭示軟件的源代碼嗎?

我的問題是...

  1. 我們怎樣才能防止反編譯我們的類文件這是JAR裏面?
  2. 任何人都可以從其安裝文件(而不是JAR)中揭示軟件的源代碼嗎?

我知道,在互聯網上的第一個問題有一些答案。但我很感激你能否更明確地解釋它。但第二個問題對我來說是最重要的問題。

+3

你是什麼意思的安裝文件? – Paolo

+0

1)不要分發它們。 2)僅當他們有反編譯器並知道如何使用它時。它不會產生確切的來源,但已經足夠了。 –

+0

投票結束 – Jayan

回答

2

您無法完全防止反編譯。但是你可以做得更難。

使用混淆處理 - 改變你的字節代碼的過程使其很難理解。有很多java字節碼混淆器。其中一些是免費的。

但是代碼仍然可以反編譯。您還可以將您的課程存儲在受密碼保護的zip文件中。但是默認情況下java不支持這樣的文件。但是,您可以開發自己的類加載器,並將應用程序分爲兩部分。首先,啓動應用程序的小型加載器,然後使用自定義類加載器加載大部分類,該加載器從受密碼保護的zip加載類。

你也可以通過https從互聯網加載你的應用程序的一部分,所以它真的很難破解它。

+0

非常感謝AlexR。有用的答案... :-) –

0

通常情況下,您可以使用模糊處理來使事情變得更加困難,但我的猜測是,如果商業計劃(例如由數十億公司開發的照片或辦公套件或電子遊戲等商業程序可以在海盜網站周圍自由破解並重新分配),那麼也不會在這方面的黑客方面自制應用程序的希望很大。一般來說,它取決於誰是想破解它的人,所以你可能會通過混淆獲得通過反編譯器的方式,但是一個嚴重的黑客會以其他方式將其加入代碼中,我相信...

相關問題