c# - Dotfuscator 是如何工作的?

标签 c# .net obfuscation dotfuscator

Dotfuscator 是如何工作的?我尝试混淆我的一些类并将方法/类重命名为 a、b、c 等。但我仍然可以看到这些方法中的代码吗?是不是我做错了什么?

有什么可以阻止完全 block 反汇编我的程序集吗?

最佳答案

代码混淆远远超出了类、成员和变量的简单重命名,尽管这是其中的重要部分。

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

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

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

关于c# - Dotfuscator 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288059/

相关文章:

c# - 如何在c#(FTP)中计算下载时间

c# - 行动 lambda 中的逆变 - C#

java - 如何告诉 proguard 保留枚举常量和字段

ruby - 在 Ruby 中隐藏用户输入

php - 发布商业 PHP 代码。你混淆还是编译它?还是按原样交付?

c# - 从 Collection 类中提取数据

c# - iTextSharp:表格单元格中的平铺图像

mysql - DBFirst - 使用 MySQL Connector 和 EF6,如何将时间戳列识别为 StoreGeneratePattern = 已计算?

c# - 如何在 N :N relationships? 上触发 MS Dynamic CRM 中的插件

.net - ASP.NET——如何在不过度设计的情况下有效地使用设计模式!