我使用dotfuscator来保护我的源代码,并且我禁用了重命名(以保持公共方法和类名称正确)但我注意到当我使用反射器来查看加密后的程序集时它们没有经常更改。我仍然可以看到源代码。 有什么信息吗?
答案 0 :(得分:3)
您可以使用Obfuscation属性精确指定从重命名阶段中排除的内容。例如,在一个属性上:
[Obfuscation(Feature = "renaming", Exclude = true)]
public int MyProperty
{
get { return this.prop; }
}
答案 1 :(得分:1)
如果禁用重命名,则意味着程序集中的所有符号(方法,类型等)都不会被重命名,这可以减轻混淆的大部分功能。
如果您只想保留可公开访问的方法的名称而不是禁用重命名,请为要排除其重命名的公共方法的每个程序集打开library mode。
此外,重命名本身不会导致Reflector不显示反编译源。为了打破反编译,您需要确保也启用了控制流模糊处理。
答案 2 :(得分:0)
dotfuscator只会模糊你的代码,它不会完全隐藏它,不会被窥探。
如果你真的想从Reflector“隐藏”方法体,我建议你使用Clisecure。 Clisecure可以在保持所有方法名称的同时使逻辑体消失。
你有选择混淆逻辑吗?你应该使用它;它会让你的逻辑更难理解。