當我試圖在我的應用程序中使用dotfuscate,我得到一個應用程序錯誤,當我運行它。如何安全地使用混淆器?
3
A
回答
9
大多數我曾與混淆遇到的問題都圍繞着不能有自己的名字改成類型,因爲有些東西需要反思他們(代碼或運行時)。
例如,如果您有正在使用的Web服務代理類,你不能安全地混淆類名稱:
public class MyWebServiceProxy : SoapHttpClientProtocol
{
}
還有些混淆器不能處理泛型方法和類。
訣竅是你需要找到這些類型並防止混淆器重命名它們。這與混淆屬性來完成:
[global::System.Reflection.Obfuscation(Exclude=true, Feature="renaming")]
10
Dotfuscator的(和所有的混淆器)通常是安全上的應用程序運行,但它們確實偶爾會出現問題。沒有你的問題的具體細節,很難診斷。
然而,混淆器一個共同的問題是,當你與反射混合。由於您正在更改類型名稱,但不更改字符串,所以只要嘗試反思具有特定字符串名稱的對象,並使用反射名稱空間構造對象,就可能會出現問題。
0
可能是混淆器問題的另一件事是使用BinaryFormatter的序列化,因爲它會更改字段名稱。出於這個原因,我有一些用戶在使用protobuf-net進行混淆代碼的序列化。
相關問題
- 1. Confuser .NET混淆器。它安全嗎?
- 2. 如何混淆使用ProGuard
- 3. 本地JavaScript混淆器
- 4. nodejs/socket.io與node-mysql |安全混淆
- 5. 混淆或安全Jmeter腳本
- 6. 混淆安全模型是否在密碼安全中佔有一席之地?
- 7. Viewstate - 完全混淆。
- 8. 混淆使用
- 9. PHP混淆器?
- 10. 使用proguard混淆
- 11. Substring()使用混淆
- 12. 混淆使用C
- 13. FutureAccessList使用混淆
- 14. 混淆使用AutoMapper
- 15. 使用MYSQLI混淆
- 16. 混淆使用C
- 17. 完全與jasperReports相混淆
- 18. 混淆完全二叉樹
- 19. 完全與java.exe混淆
- 20. EBS全設備混淆
- 21. RVM全球gemset混淆
- 22. 在生成的混淆代碼中不使用eval的任何JavaScript混淆器?
- 23. 混淆如何使用select_related或SelectRelatedMixin
- 24. 如何使用Maven和ProGuard混淆webapp
- 25. 如何使用PHP混淆JavaScript?
- 26. virtualenv/virtualenvwrapper混淆 - 如何正確使用
- 27. MATLAB:容器混淆行爲。地圖
- 28. PIP安裝混淆Python 3.5
- 29. 與beautifulsoup4安裝混淆
- 30. 安裝PHP memcache混淆
你能告訴我們的錯誤是什麼? – 2009-04-23 17:41:03
不堅持在obfustacator你的手指,除非你需要一個腎了。 – 2009-04-23 17:45:55