【问题标题】:What is a CLR header in .net applications?.net 应用程序中的 CLR 标头是什么?
【发布时间】:2014-02-11 13:42:44
【问题描述】:

在使用 ildasm.exe 工具反汇编其他 .Net 应用程序时,我遇到了以下行。

program.exe 没有有效的 CLR Header,无法反汇编

但是当我尝试反汇编我的代码时,它没有显示任何错误,并且很容易地反汇编了代码。

因此,我很好奇什么是 CLR 标头,以及为您的程序集提供有效的 CLR 标头的优点/缺点是什么?

有人可以回答以上问题吗?

我查看了 msdn,但找不到关于该主题的太多信息。

【问题讨论】:

  • 你用什么语言写的应用程序?
  • 我用 C# 编写了我的应用程序
  • “其他 .Net 应用程序”不能是 .NET 应用程序。

标签: c# .net decompiling disassembly


【解决方案1】:

ILDASM.exe 旨在反汇编 CLR 代码。如果没有有效的 CLR 标头,通常意味着可执行文件是用另一种语言编写的并且是本地编译的。

【讨论】:

  • 那么,有什么办法可以保护我的 .Net 应用不被反汇编。
  • 没有办法阻止任何程序被反汇编。您只能通过使用代码混淆(通过自动化工具或聘请专家作为您的项目的顾问)来更难弄清楚反汇编代码在做什么。见“How to protect .Net exe from Decompiling/Cracking
猜你喜欢
  • 2010-11-08
  • 2012-04-21
  • 1970-01-01
  • 2020-04-19
  • 2023-03-30
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多