這可能嗎? .NET框架是否依賴字節碼中的元數據?我想有一個我寫的應用程序不能在反射器或類似的.NET反編譯器中工作。從.NET應用程序中刪除元數據?
回答
我不認爲你可以刪除元數據,但如果你想保護你的IP,你可以混淆你的代碼。
的Dotfuscator的將能夠阻止你的代碼被反編譯 http://www.preemptive.com/dotfuscator.html
編輯:我應該提到,這是專業版,免費的社區版附帶的Visual Studio
我想您指的是Assembly Manifest:
每個裝配,無論是靜態的還是動態的,包含col描述數據 ,其描述了組件中的元件如何相互關聯。程序集清單 包含此程序集元數據 。一種組件 清單包含指定組件的 版本要求和安全 身份,並需要 所有元數據定義組件的範圍和資源 決心引用和 類所需要的所有元數據 。
.Net程序集最重要的特性之一是它們是自描述組件,這是由清單提供的。所以消除它們會以某種方式擊敗它的目的。
如果你刪除元數據,框架將無法加載你的代碼,或找出它引用的其他程序集,或者類似的東西,所以不,這不是一個好主意。
混淆器會讓'攻擊者'反編譯你的代碼要困難得多,但是如果有人出於動力和聰明的目的,並沒有太多的事情可以阻止他們。 NET總是會編譯到MSIL,而MSIL本來比原始x86更易於讀取。這只是您使用.NET所做的折中之一。
別擔心。源代碼了Apache,Linux和其他一切都在網上免費提供的,但它不是微軟提供多大的競爭優勢是它:-)
這看起來就像是同一個問題:
How do I make the manifest of a .net assembly private?
見我的回答有:
How do I make the manifest of a .net assembly private?
「我想你在談論的是‘模糊’有很多關於它在網絡上的文章:
http://en.wikipedia.org/wiki/Obfuscation
「標準」 工具上的混淆。NET是先發制人的解決方案:
http://www.preemptive.com/obfuscator.html
他們隨Visual Studio中您可以使用一個社區版。
你提到ILDasm,你有沒有看過.NET Reflector?
http://aisto.com/roeder/dotnet/
它給你一個更好的主意,什麼人可以看到,如果你發佈一個清單!」
不會像VMware的ThinApp的(以前Thinstall)解決方案幫助一個位以保護您的代碼也是? 儘管它的價格非常高..
- 1. 用WebSocket從C#.Net中刪除數據
- 2. 從默認mvc應用程序數據庫中刪除用戶
- 3. 應用程序更新數據刪除
- 4. Android應用程序刪除數據
- 5. 刪除應用程序不會刪除應用程序組數據
- 6. 當我從應用程序中清除數據時刪除Sqlite數據庫
- 7. 從模擬器中刪除應用程序數據庫
- 8. 從Azure應用程序清單中刪除的分析數據
- 9. 從應用程序引擎中經濟地刪除數據
- 10. 從WinForms應用程序中刪除ClickOnce
- 11. 從appstore中刪除iPhone應用程序?
- 12. 從IIS7中刪除應用程序c#
- 13. 無法從iPhone應用程序中的SQLite數據庫中刪除數據
- 14. 如何從.net完全刪除Oracle數據提供程序
- 15. 從應用程序中刪除應用程序時刪除應用程序的相關下載
- 16. 從核心數據刪除對象 - 崩潰的應用程序
- 17. 從已刪除的heroku應用程序恢復數據庫
- 18. 如何從iPad中刪除應用程序時刪除UILocalNotification applicationIconBadgeNumber?
- 19. 數據庫中性.NET應用程序
- 20. 如何在2sxc應用程序中刪除adam文件中的元數據
- 21. 在.NET應用程序中根據.net
- 22. 從json結果中刪除元數據
- 23. 從android marketplace刪除應用程序
- 24. 從iTunesConnect刪除免費應用程序
- 25. 從appstore刪除應用程序
- 26. 如何從應用程序中刪除事件處理程序?
- 27. 如何在Android應用程序中刪除數據庫
- 28. 在升級應用程序中刪除SQLite數據庫
- 29. 在Shiny應用程序中刪除DT數據表的一行
- 30. 無法從Xamarin應用程序中的SQLite數據庫中刪除