Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS2010-仅当在C中生成解决方案时才更改公共类名#_C#_Visual Studio 2010_Class_Plugins_Obfuscation - Fatal编程技术网

C# VS2010-仅当在C中生成解决方案时才更改公共类名#

C# VS2010-仅当在C中生成解决方案时才更改公共类名#,c#,visual-studio-2010,class,plugins,obfuscation,C#,Visual Studio 2010,Class,Plugins,Obfuscation,可能重复: 我有我的C#申请表和: 当我在“Just Decompiler”或任何反编译器中打开软件时,我可以看到表单/类的名称。。。以及我创建的任何公共类/对象。顺便说一下,我用了一个模糊器 很长一段时间以来,我一直在寻找一个软件/插件,它将改变我所有的类的名称(包括公共类-因为没有第三方应用程序会使用它) 我正在寻找一个只会更改所有公共表单/类名称的插件,例如: 我有一个名为“MyAlgos”的表单,我希望它只在构建解决方案时重命名->因此,当我进行编程时,我会看到名称“MyAlgos”,

可能重复:

我有我的C#申请表和: 当我在“Just Decompiler”或任何反编译器中打开软件时,我可以看到表单/类的名称。。。以及我创建的任何公共类/对象。顺便说一下,我用了一个模糊器

很长一段时间以来,我一直在寻找一个软件/插件,它将改变我所有的类的名称(包括公共类-因为没有第三方应用程序会使用它)

我正在寻找一个只会更改所有公共表单/类名称的插件,例如: 我有一个名为“MyAlgos”的表单,我希望它只在构建解决方案时重命名->因此,当我进行编程时,我会看到名称“MyAlgos”,但在反编译器中打开构建的软件程序集后,我会看到类似于Dhd436bxSg的东西…:)

希望类似的东西也能满足我的需要。 谢谢


这样做,但它不是免费的。这里列出了一些免费的模糊处理工具。

如果买一个像样的模糊处理工具不是一个选择,那么就让你的代码尽可能多地“私有”、“受保护”和“内部”,然后为剩下的代码制作空的公共包装器。不仅是类,还有方法和属性。
混淆器使它们可见,因为“public”意味着它们可能正被其他程序集使用,并且它们需要能够找到所需的内容

关于“.NET Reactor”呢?我从未尝试过该软件,但通常任何.NET混淆器都提供类型和成员重命名。不过,如果你想买的话,你可能需要确认一下。好的,谢谢。。。但是为什么混淆器会改变公共类呢?我认为这是不可能的,因为:(引用“Sten Petrov”):“public”意味着它们可能被其他程序集使用,它们需要能够找到它们需要的东西一个合适的模糊处理程序不只是重命名类,它重构对它们的引用,这样就不会破坏任何用法。@user1651338:我的声明提到保持方法和类的签名可见。一个好的模糊器(还有一些)可以改变这些方法的主体,使实际的逻辑变得不可读。如果不是所有的东西都可以被掩盖,那就把重点放在掩盖应用程序中真正重要的东西上。有没有办法制作一个“privare”/“protected”的表单?上一次VS2010不让我…你可以让它“内部”-任何非公开的模糊器都可以自由隐藏。拥有一个表单并不是一个秘密——用户无论如何都可以看到它。秘密在于它是如何工作的。您完全可以将它的重要方法设置为私有、受保护或内部,并在一秒钟前尝试创建公共表单(WPF)从:public分部类NameOfForm:Window到:internal分部类NameOfForm:Window,并在尝试生成时出错:“NameOfForm”的分部声明具有冲突的可访问性修饰符WPF更难,因为它存储在程序集中的BAML也可以反编译。此外,反序列化它可能需要访问一些用于绑定的公共依赖属性。我假设是WinForms。对于WPF,您肯定需要一个更高端的模糊器-您可以手动使代码模糊,但这将比购买一个更昂贵。