我目前在java中創建一些小框架應用程序。.jar文件是否被讀/編輯保護?
當我們清理的構建與NetBeans(因此創建一個jar文件)主項目,它創建一個安全的jar文件?
我的意思是,我的包含鍵一些表,我不希望未來可以將用戶能夠觀看這些關鍵日誌。 那麼代碼完全隱藏?如果不是,請問我們如何「保護」jar文件?
預先感謝您的幫助,請讓我知道,如果我是不太清楚。
編輯:我目前的Windows 7
我目前在java中創建一些小框架應用程序。.jar文件是否被讀/編輯保護?
當我們清理的構建與NetBeans(因此創建一個jar文件)主項目,它創建一個安全的jar文件?
我的意思是,我的包含鍵一些表,我不希望未來可以將用戶能夠觀看這些關鍵日誌。 那麼代碼完全隱藏?如果不是,請問我們如何「保護」jar文件?
預先感謝您的幫助,請讓我知道,如果我是不太清楚。
編輯:我目前的Windows 7
它不是在所有的保護之下。它只是一個存檔(建立在ZIP上).class
-es和其他資源,元數據等。
您可以嘗試使用Proguard等工具來混淆java字節碼。那會給你一些保護,那就是 - 它會使逆向工程變得更加困難。
確切地說,它是一個zip文件存檔。 –
當然,即使是最好的混淆也不能拯救你,如果你把你的祕密存儲在用戶可以訪問的地方。更實用的是,如果它存儲在JAR中,它可以是純文本(因此很容易找到)或加密的,但在後一種情況下,您的代碼需要對其進行解密,這需要將算法和加密密鑰命名爲*。 – delnan
@ iccthedral:所以如果我理解你的話,用Proguard編輯Jar文件至少可以保證它的安全。用戶將無法檢查源代碼,或者至少這會讓他們難以做到,對吧? – user1617809
我的建議是你罐子他們之前有敏感信息的加密文件。讓應用程序在需要使用數據時解密它們。使用ramdom外觀的加密密鑰,以便人們不太可能通過在類文件中列出字符串來找出它。
這還不夠。存在大量的Java反編譯器。 –
同意。沒有什麼會提供完整的保護將密碼存儲在應用程序外可能會提供額外的保護。也許將解密綁定到硬件上可能會有所幫助(但也有缺點)。但是,這仍然是我的建議,只要用戶理解權衡。 – theglauber
我的問題是如何做到這一點?你建議我創建一個加密文件,其中包含一些重要的值(也就是我的關鍵表),然後在jar運行期間通過一些特殊的類來解密它? – user1617809
chmod 711?這隻會允許其他人執行。 – squiguy
你確定它在Windows上保護任何其他計算機上的jar文件嗎? – user1617809
我只是在扔我的兩美分。我知道它會在* nix環境中。我可以環顧四周,看看Windows。 – squiguy