我有一個.net項目,它有很多模塊,也有一些.jar
文件。我還爲安裝創建了一個.msi
設置。
這個應用程序實際上是我們公司的IP(內部產品),它有時會在客戶端環境中安裝一段時間。
我們希望確保產品代碼的安全,以便沒有人知道它是如何工作的,因爲我們擁有第三方許可(safenet),但問題是他們沒有提供對.jar
中存在的所有方法的加密(有大約1000種方法)。
只是我想知道有沒有什麼辦法來保護我們的應用程序代碼免去編譯?還是有什麼辦法來混淆代碼,以便反編譯不起作用?
編輯:或者是否有任何工具(授權工具)提供這種設施?
在此先感謝。安裝文件的加密/混淆(.dll,.jar)
0
A
回答
1
對不起,但是隱藏程序的工作方式是不可能的。如果機器可以運行它,它可以被反編譯。例如在Java中混淆的最常用的方法是:
- 名稱混淆
- 流混淆
- 不透明謂詞
在這些事情字節碼級別沒有如果能阻止一個人,他們致力於弄清楚你的產品是如何工作的。命名在字節碼級無關緊要,可以使用自動化工具對流混淆進行修補,同樣適用於不透明謂詞。大部分情況同樣適用於.Net框架。
但是,這些功能確實會阻止您的平均腳本小子。所以雖然他們不完美,但他們是值得的。如果你想要一個免費的混淆替代方案,你可以查看Proguard,儘管它只提供名稱混淆。具有流動和不透明特徵的混淆器通常是昂貴的。
2
我爲複製保護公司工作。我會盡我所能,不要因爲我的工作而受到偏見。
是的,保護是可能的,如果你願意,你可以使黑客非常困難。將不可能打破你的保護?不,所有的代碼都可以被破壞!但是,越好的保護,越難破解,越少的黑客將他們的手放在你的產品上。
有幾種方法可以停止調試器。最簡單的是測試代碼是否以正常的速度處理,如果不是的話,那是因爲有人正在調試你的代碼,並用步驟執行代碼。然後你的代碼應該優雅地終止程序來停止你的軟件的反編譯。
我的一個同事寫了這篇文章複製保護的基本知識:All About Copy Protection 查找「調試補漏」,如果你不想把它讀完了:)
相關問題
- 1. 混淆文件的加密
- 2. 加密/混淆文件名
- 3. 不使用混淆器的DLL加密
- 4. Proguard的混淆JAR文件
- 5. Android,混淆jar文件庫?
- 6. 密碼文件混淆
- 7. 與加密混淆
- 8. WSPBuilder混淆dll
- 9. 混淆.Net Dll
- 10. PIP安裝混淆Python 3.5
- 11. 與beautifulsoup4安裝混淆
- 12. 安裝PHP memcache混淆
- 13. 如何去混淆jar文件
- 14. 混淆加密文件和文件路徑上的多個
- 15. Maven安裝文件混淆:「無法找到目標'安裝文件'」
- 16. 安裝JAR文件
- 17. 引用混淆DLL
- 18. 混淆.NET EXE/DLL的
- 19. 如何將混淆的jar文件包含到war文件中
- 20. 與我的PHP安裝混淆
- 21. 視覺工作室安裝項目與兩個安裝文件混淆?
- 22. 用不同的加密器混淆可執行文件
- 23. 手動安裝jar文件
- 24. RDBMS密鑰混淆
- 25. 混淆Crypto.JS密碼?
- 26. XML密碼混淆
- 27. 混淆或加密WPF的App.config
- 28. 混淆Windows Phone 8 dll
- 29. .h,.dll和.lib混淆
- 30. 提升安裝程序混淆