使用Dotfuscator社区版除了会稍微降低执行速度之外,还有什么已知的问题吗?
在使用dotfuscator之前,我的代码中有什么需要更改的地方吗?
我不确定,但有一次客户报告了一个奇怪的行为,在使用dotfuscator发布之前没有发生过,所以我给客户发布了SAME版本,但没有使用dotfuscat,一切都恢复正常。
提前感谢。
如果您使用的是Dotfuscator Community Edition(仅支持重命名),则不会对性能造成任何影响。遗憾的是,CommunityEdition中没有包含可能对性能产生负面影响的转换,如控制流模糊处理和字符串加密。
然而,正如Stecya所解释的,重命名可以打破在运行时而不是在静态分析期间确定行为的各种场景。在我的脑海中,可以中断的场景包括使用反射(直接或间接,例如使用Enum.Parse)、在非代码文件(如XAML)中具有代码引用以及自动序列化(不显式命名数据成员)。
您应该小心使用dotfuscator,并且只混淆需要隐藏的部分。例如,如果您使用反射,模糊处理可能会破坏代码