我使用 dotfuscator 来保护我的源代码并禁用重命名(以保持公共方法和类名正确),但是当我使用反射器查看加密后的程序集时,我注意到它们并没有太大变化。我仍然可以看到源代码。有什么资料吗?
问问题
3129 次
3 回答
3
您可以使用混淆属性精细地指定将从重命名阶段排除的内容。例如在一个属性上:
[Obfuscation(Feature = "renaming", Exclude = true)]
public int MyProperty
{
get { return this.prop; }
}
于 2010-01-17T17:00:04.130 回答
2
如果禁用重命名,则意味着程序集中的任何符号(方法、类型等)都不会被重命名,这会大大降低混淆的用处。
如果您只想保留可公开访问的方法的名称而不是禁用重命名,请为要从重命名中排除其公共方法的每个程序集打开库模式。
此外,自行重命名不会导致 Reflector 不显示反编译的源代码。为了打破反编译,您需要确保还启用了控制流混淆。
于 2009-10-06T14:06:57.077 回答
0
dotfuscator 只会混淆您的代码,它不会完全隐藏它以防窥探。
如果你真的想从 Reflector 中“隐藏”方法体,我建议你使用Clisecure。Clisecure 可以使逻辑体消失,同时保留所有方法名。
您是否可以选择混淆逻辑?你应该使用它;它会让你的逻辑更难理解。
于 2009-10-06T07:17:37.450 回答