Dotfuscator 是如何工作的?我尝试混淆我的一些类并将方法/类重命名为 a、b、c 等。但我仍然可以看到这些方法中的代码吗?是不是我做错了什么?
有什么可以阻止完全 block 反汇编我的程序集吗?
最佳答案
代码混淆远远超出了类、成员和变量的简单重命名,尽管这是其中的重要部分。
例如,Dotfuscator 使用一种称为重载归纳 的专利技术,其中许多方法被重命名为相同的名称(只要它们具有不同的签名,这是可能的) . PreEmptive 解决方案引用了代码中三分之一的方法被重命名为 a() 的案例。其他技术涉及将简单迭代重写为递归,以及 code morphing .
实际上,现代混淆技术完全足以使代码几乎不可能被逆向工程,至少无法通过手工进行。虽然 .NET 程序集原则上永远不可能是 RE 安全的,但混淆可以提供相当强大的障碍。
对于我们大多数人来说,这就足够了。
关于c# - Dotfuscator 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288059/