Dotfuscator如何工作?

Dotfuscator如何工作? 我试着对我的一些类进行模糊处理,并将方法/类重命名为a,b,c等。但是我仍然可以看到这些方法中的代码? 是这样,我做错了什么?

有什么东西可以防止完全阻止我的assembly拆卸吗?

这就是它的工作方式。 您的代码仍然可访问,更难以理解。 如果你想要“更强大”的东西,请看看Xenocode PostBuild 。

代码混淆远不止简单地重命名类,成员和变量,尽管这是它的一个重要部分。

例如,Dotfuscator使用一种称为过载感应的专利技术,其中许多方法被重命名为相同的名称 (只要它们具有不同的签名,这是可能的)。 PreEmptive解决方案引用了代码中所有方法的三分之一被重命名为a()的情况。 其他技术涉及将简单迭代重写为递归,以及代码变形 。

实际上,现代混淆技术完全足以使代码几乎不可能进行逆向工程,至少是手工操作。 虽然.NET程序集原则上永远不会是RE安全 ,但混淆可能会提供相当强大的障碍。

对于我们大多数人来说,这就足够了。

你不能阻止.net中的解组


不幸的是,没有办法阻止有人反映您的程序集并将其分解为您的源代码。 像Dotfuscator这样的混淆工具会让某些人更难以实际读取反汇编的代码,其中几乎所有人类可读的名称都可以用无意义的符号代替。

如果您在任何地方发布代码,如果有人确定了足够的,他们将能够对其进行逆向工程。 你能做的最好的事情就是不值得花时间去做。

Visual Studio附带的版本是有限的,如果您需要将某些内容部署到客户站点,我不会依赖它来进行全面混淆。 你可能想要看的免费的是Eazfuscator.net 。

Dotfuscator简单地使反编译的源更难以读取 – 它不会阻止反编译本身。

如果您有Professional或Gold Dotfuscator,您可以阻止Reflector程序打开您的assembly。