4

为什么我们可以轻松地反编译 .NET 程序集?

我们可以轻松反编译 .NET EXE 文件的主要原因是什么?

有很多软件可以用来混淆我的应用程序代码,但为什么需要混淆来保护?微软不能让人们很难知道吗?主要原因可能是 .NET 代码应该变成 IL 代码吗?这是真的?

4

3 回答 3

2

IL 代码(这是 .NET 程序集所包含的)是比 CPU 程序集(x86、ARM等),这是更底层且不容易的(因为有各种寄存器等)。

因此,当 C# 编译器编译为 IL 代码时,构造(猜测)原始 C# 代码要容易得多。

于 2011-10-04T07:05:44.287 回答
1

为什么微软不这样做?因为您无法保护您的代码免受坚定的黑客攻击。像最大的软件供应商一样,他们不会制造这样的内置软件,但他们让您拥有一个工具市场,您可以在其中根据您的需求和口袋大小为您选择最合适的工具。

于 2011-10-04T06:58:23.207 回答
0

当您使用 DotPeek 或 Reflector 打开 .NET DLL 时,您正在将 IL 转换回您选择的语言的代码。可视化这一点很重要,因为它不会返回与编写的完全相同的代码,只是会产生相同 IL 的代码。

于 2011-10-04T06:48:22.407 回答