2009-10-06 68 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; } 
}