如何仅使用 Dotfuscator 混淆方法名称?
How to only obfuscate method name with Dotfuscator?
由于某些反射操作,我需要从 Dotfuscator ce 混淆中排除一些方法:
[Obfuscation(Exclude = true)]
internal MyMethod (String input1)
{
string member1 = "hello"
string member2 = "world"
[...]
}
Obfuscation
属性完成这项工作,但现在该方法的完整内容也不再被混淆。我如何才能实现名称 MyMethod
不会被混淆,但成员 member1
、member2
等仍然被混淆?
(注意:我在 Dotfuscator 团队工作,并以该身份回答问题。)
局部变量的名称(您称为 "members")与其他调试信息一起存储在程序数据库 (.pdb
) 文件中,而不是程序集 (.dll
或 .exe
文件)。 Dotfuscator 重命名程序集中的代码项,但不重命名 .pdb
.
中的局部变量
我们假设关注逆向工程的客户不会发布 .pdb
,因为它包含行号和源文件信息,这将使逆向工程过程变得容易,即使使用混淆程序集也是如此.
但是,Dotfuscator 仍然可以生成 .pdb
文件用于内部测试和调试。
如果您希望 Dotfuscator Community(以前称为 Dotfuscator CE)停止这样做,请在 Dotfuscator 的用户界面中打开您的配置文件,转到 Settings -> General 并取消选中 发出调试符号 。
由于某些反射操作,我需要从 Dotfuscator ce 混淆中排除一些方法:
[Obfuscation(Exclude = true)]
internal MyMethod (String input1)
{
string member1 = "hello"
string member2 = "world"
[...]
}
Obfuscation
属性完成这项工作,但现在该方法的完整内容也不再被混淆。我如何才能实现名称 MyMethod
不会被混淆,但成员 member1
、member2
等仍然被混淆?
(注意:我在 Dotfuscator 团队工作,并以该身份回答问题。)
局部变量的名称(您称为 "members")与其他调试信息一起存储在程序数据库 (.pdb
) 文件中,而不是程序集 (.dll
或 .exe
文件)。 Dotfuscator 重命名程序集中的代码项,但不重命名 .pdb
.
我们假设关注逆向工程的客户不会发布 .pdb
,因为它包含行号和源文件信息,这将使逆向工程过程变得容易,即使使用混淆程序集也是如此.
但是,Dotfuscator 仍然可以生成 .pdb
文件用于内部测试和调试。
如果您希望 Dotfuscator Community(以前称为 Dotfuscator CE)停止这样做,请在 Dotfuscator 的用户界面中打开您的配置文件,转到 Settings -> General 并取消选中 发出调试符号 。