反编译C#与C++

Ste*_*cob 7 c# c++ decompiling

我已经阅读了许多关于反编译的帖子(虽然没有经验),但不明白为什么所有人都普遍提到反编译C#比C++可执行文件更容易.谁有人解释这个区别?

Ode*_*ded 11

C#编译成CIL,而不是像C++编译器通常那样直接编译到本机代码中.

它产生一个.NET程序集,它包含的元数据比C++可执行程序要多得多(通过嵌入式清单) - 这是关于程序集中包含的类型的元数据,它引用的内容等等,使得反编译比"正常"可执行文件.

正如评论中所指出的,CIL本身是一种比汇编更高级的语言,是一种面向对象的语言,使得它更容易理解和反编译.

  • 作为旁注,.NET`汇编语言和`汇编语言`是完全不同的东西:-) (2认同)