如何仅使用Dotfuscator混淆方法名称?

时间:2019-07-14 21:21:49

标签: obfuscation dotfuscator

由于采取了一些反思措施,我需要从 Dotfuscator ce 混淆中排除一些方法:

[Obfuscation(Exclude = true)]
internal MyMethod (String input1)
{
   string member1 = "hello"
   string member2 = "world"
   [...]
}

Obfuscation属性可以完成此工作,但是现在方法的完整内容也不再被混淆。我如何实现名称MyMethod不会被混淆,而成员member1member2等仍然被混淆?

1 个答案:

答案 0 :(得分:1)

注意:我在Dotfuscator团队工作,并以此身份回答。)

局部变量的名称(您称为“成员”)与其他调试信息一起存储在程序数据库(.pdb)文件中,而不是程序集(.dll或{{1 }}文件)。 Dotfuscator重命名程序集中的代码项,但不重命名.exe中的局部变量。

我们假设关心逆向工程的客户不会发货.pdb,因为它包含行号和源文件信息,即使装配模糊不清,这也将使逆向工程过程变得容易。 / p>

但是,Dotfuscator仍然可以生成.pdb文件用于内部测试和调试。 如果您希望Dotfuscator社区(以前称为Dotfuscator CE)停止这样做,请在Dotfuscator的用户界面中打开配置文件,转到设置-> 常规,然后取消选中发出调试符号