當我試圖在我的應用程序中使用dotfuscate,我得到一個應用程序錯誤,當我運行它。如何安全地使用混淆器?
3
A
回答
9
大多數我曾與混淆遇到的問題都圍繞着不能有自己的名字改成類型,因爲有些東西需要反思他們(代碼或運行時)。
例如,如果您有正在使用的Web服務代理類,你不能安全地混淆類名稱:
public class MyWebServiceProxy : SoapHttpClientProtocol
{
}
還有些混淆器不能處理泛型方法和類。
訣竅是你需要找到這些類型並防止混淆器重命名它們。這與混淆屬性來完成:
[global::System.Reflection.Obfuscation(Exclude=true, Feature="renaming")]
10
Dotfuscator的(和所有的混淆器)通常是安全上的應用程序運行,但它們確實偶爾會出現問題。沒有你的問題的具體細節,很難診斷。
然而,混淆器一個共同的問題是,當你與反射混合。由於您正在更改類型名稱,但不更改字符串,所以只要嘗試反思具有特定字符串名稱的對象,並使用反射名稱空間構造對象,就可能會出現問題。
0
可能是混淆器問題的另一件事是使用BinaryFormatter的序列化,因爲它會更改字段名稱。出於這個原因,我有一些用戶在使用protobuf-net進行混淆代碼的序列化。
相關問題
- 1. 如何混淆使用ProGuard
- 2. nodejs/socket.io與node-mysql |安全混淆
- 3. 混淆或安全Jmeter腳本
- 4. Viewstate - 完全混淆。
- 5. 混淆使用
- 6. PHP混淆器?
- 7. 使用proguard混淆
- 8. Substring()使用混淆
- 9. 完全與java.exe混淆
- 10. 完全與jasperReports相混淆
- 11. 在生成的混淆代碼中不使用eval的任何JavaScript混淆器?
- 12. 如何使用Maven和ProGuard混淆webapp
- 13. PIP安裝混淆Python 3.5
- 14. 我如何混淆使用YUI全局變量沒有把全班封閉
- 15. 不使用混淆器的DLL加密
- 16. 購買混淆器?
- 17. 迭代器混淆
- 18. 如何安全地使用SwingWorker?
- 19. 如何更安全地使用MyISAM表?
- 20. 如何安全地使用window.history.pushState
- 21. 混淆縮略地圖
- 22. 數組c地址混淆
- 23. 邏輯地址混淆
- 24. 地圖參考混淆
- 25. SQLServer2008:混淆或混淆
- 26. 混淆Python安裝在本地用戶(virtualenv,點,分發)
- 27. 如何混淆在angularjs代碼的URL,而不是使用基地64編碼和吞掉混淆
- 28. 代碼級混淆器vs裝配混淆器
- 29. 引用混淆
- 30. Destroy_all方法使用混淆
你能告訴我們的錯誤是什麼? – 2009-04-23 17:41:03
不堅持在obfustacator你的手指,除非你需要一個腎了。 – 2009-04-23 17:45:55