彩票走势图

.NET代码虚拟化方法实践

原创|使用教程|编辑:何跃|2021-08-23 14:04:15.900|阅读 223 次

概述:CIL和其他元数据的存储方式必须遵循一个特定的标准(ECMA-335)。这样,像.NET Reflector或ILSpy这样的工具就能够读取CIL指令,并将代码翻译回其源语言(C#、VB.NET...)

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

通用中间语言(CIL)是一套独立于平台的指令,由特定语言的编译器(C#、VB.NET...)从源代码中生成。CIL是独立于平台的,可以在任何通用语言基础设施支持的环境中执行,如.NET运行时或Mono。

CIL和其他元数据的存储方式必须遵循一个特定的标准(ECMA-335)。这样,像.NET Reflector或ILSpy这样的工具就能够读取CIL指令,并将代码翻译回其源语言(C#、VB.NET...)。

代码虚拟化将CIL代码转换为一组随机的指令,在运行时由我们自己的虚拟机进行解释。由于没有标准化的程序来正确解释新的指令集,原始的CIL指令不能被重构。因此,虚拟化的代码不能被翻译回其源语言。

由于虚拟化方法的性能明显下降,代码虚拟化应该只应用于选定的方法你可以在选定的方法中标注以下属性:

[System.Reflection.ObfuscationAttribute(Feature = "Virtualization", Exclude = false)]

实现虚拟化之后代码如下:


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP