当我试图在我的应用程序中使用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