2009-10-06 53 views
1

我用dotfuscator来保护我的源代码,并禁用了重命名(保持公共方法和类名正确),但是我注意到当我使用反射器查看加密后的程序集时,他们没有改变很多。我仍然可以看到源代码。 任何信息?在dotfuscator中禁用重命名

回答

0

dotfuscator只会模糊你的代码,它并不能完全隐藏它的窥探。

如果你真的想从反射器“隐藏”方法体,我建议你使用Clisecure。 Clisecure可以在保持所有方法名称的同时使逻辑主体消失。

你有选项来混淆逻辑吗?你应该使用它;它会让你的逻辑更难理解。

1

如果您禁用重命名,这意味着您的程序集中的所有符号(方法,类型等)都不会重命名,这可以减轻混淆的许多实用性。

如果您只是想保留公开访问的方法的名称,而不是禁用重命名开启library mode对于您想从重命名中排除其公共方法的每个程序集。

另外,重命名本身不会导致Reflector不显示反编译的源代码。为了打破反编译,您需要确保启用了控制流混淆功能。

3

通过使用Obfuscation属性,您可以精确指定将从重命名阶段中排除的内容。例如,在一个属性:

[Obfuscation(Feature = "renaming", Exclude = true)] 
public int MyProperty 
{ 
    get { return this.prop; } 
}