.NET 技术FAQ(八)-----中间语言 (IL)

原创 2004年09月08日 15:43:00

8. 中间语言 (IL)
8.1
我能看到元件的中间语言吗?
是的。Microsoft 提供了一个称为 Ildasm 的工具,它可以用来查看元件的 metadata IL
 
8.2
能否通过反向工程从 IL 中获得源代码?
是的。相对而言,从 IL 来重新生成高级语言源代码 (例如 C#) 通常是很简单的。
 
8.3
如何防止别人通过反向工程获得我的代码?
目前唯一的办法是运行带有 /owner 选项的 ilasm。这样生成的元件的 IL 不能通过 ildasm 来查看。然而,意志坚定的代码破译者能够破解 ildasm 或者编写自己的 ildasm 版本,所以这种方法只能吓唬那些业余的破译者。
不幸的事,目前的 .NET 编译器没有 /owner 选项,所以要想保护你的 C# VB.NET 元件,你需要像下面那样做:
csc helloworld.cs
ildasm /out=temp.il helloworld.exe
ilasm /owner temp.il
(
这个建议是 Hany Ramadan 贴到 DOTNET 上的。)
看起来过一段时间能有 IL 加密工具 (无论来自 Microsoft 或第三方)。这些工具会以这样的方式来优化” IL:使反向工程变得更困难。
当然,如果你是在编写 Web 服务,反向工程看起来就不再是一个问题,因为客户不能访问你的 IL
 
8.4
我能直接用 IL 编程吗?
是的。Peter Drayton DOTNET 邮件列表里贴出了这个简单的例子:
.assembly MyAssembly {}
.class MyApp {
  .method static void Main() {
    .entrypoint
    ldstr      "Hello, IL!"
    call       void System.Console::WriteLine(class System.Object)
    ret
  }
}
将其放入名为 hello.il 的文件中,然后运行 ilasm hello.il,将产生一个 exe 元件。
 
8.5 IL
能做到 C# 中做不到的事吗?
是的。一些简单的例子是:你能抛出不是从 SystemException 导出的异常,另外你能使用非以零起始的数组。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

C#中CLR(公共语言运行时)与IL(中间代码)

.net平台中的CLR首先要说明的是,.NET平台与C#不是一回事 它是C#,VB.net等程序运行的平台。CLR是公共语言运行时,是 .NET Framework的重要组成部分。它提供了内存管理...
  • Pwiling
  • Pwiling
  • 2016年05月20日 15:00
  • 6899

ASP与ASP.NET的优势与不足

ASP和ASP.NET是Web开发领域比较流行的动态Web开发技术。          ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程...
  • u012581322
  • u012581322
  • 2015年08月12日 17:21
  • 2937

【C#】.NET技术的发展及其跨语言和跨平台特性

【C#】.NET技术的发展及其跨语言和跨平台特性 一、.NET(Microsoft XML Web services): .NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统...
  • woaini454186694
  • woaini454186694
  • 2016年05月28日 12:37
  • 2340

IL编辑器,(.NET的中间语言的编辑器)

  • 2009年12月11日 22:42
  • 1.64MB
  • 下载

.net 中间语言 IL 指令集

  • 2010年10月29日 11:11
  • 2.33MB
  • 下载

.Net IL中间语言速查表

突然如果了.net软件的优化问题,在网上找
  • u010327824
  • u010327824
  • 2014年08月06日 23:04
  • 452

微软.NET核心文档(3/6)--《The IL Assembly Language Programmers’ Reference(IL中间语言程序员参考)》

  • 2009年12月23日 13:13
  • 2.41MB
  • 下载

Partition III CIL DOC (.net中间语言MSIL指令语法解释说明.英文版)

  • 2011年04月27日 13:20
  • 1.61MB
  • 下载

实例学习 .Net 中间语言指令

实例学习 .Net 中间语言指令     今天研究了一下 .Net 程序集的中间语言代码,总体上感觉要看懂也不难。因为中间语言常用的指令并不多,看熟了很容易就可以理解程序逻辑。具体的指令说明大家可以看...
  • tiantian1980
  • tiantian1980
  • 2011年01月11日 11:51
  • 453

IL中间语言

  • 2014年02月10日 10:54
  • 1.9MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET 技术FAQ(八)-----中间语言 (IL)
举报原因:
原因补充:

(最多只允许输入30个字)