.NET体系中的源程序安全问题(一、概述)

 

  在Visual Studio.NET(VS.NET)体系中,VB、Visual C++以及C#之类的编译器把源程序编译成MSIL。MSIL即Microsoft Intermediate Language,或Microsoft中间语言,它在执行之前被即时(Just-In-Time Compile,JIT)编译成为机器语言。但是,你可能还没有深入了解当你在VS中点击Build按钮时发生了什么事情,或者你私有的源代码和信息是否在偷窥的眼光面前安然无恙、当你把IL代码发布给客户时是否能够保证代码不被篡改。下面我们将深入.NET的内部工作过程,探讨VB.NET体系MSIL的特点和一些你必须关心的问题。

  你必须搞清楚以下几个问题。首先,.NET是为客户机/服务器系统以及Web应用而设计的。软件开发正在逐渐向Internet以及基于客户机/服务器的应用发展,许多应用不再有传统风格的界面,而是提供类似浏览器的界面。.NET也同样追随着这个趋势。

  第二,在桌面应用中,我们无法保护以受管理的MSIL形式存在的代码,如果你觉得保护知识产权(即源代码)非常重要,那么.NET不适合桌面应用开发。虽然MSIL的承诺令人心动,虽然.NET平台和CLR(Common Language Runtime)很稳定,但从安全的角度来看,对于一个独立的桌面应用来说,这一切缺乏实际意义。在.NET中,作为一个VB程序员甚至是C#程序员,你只能编写受管理、不受保护的代码。

  由于存在这种限制,如果你要在桌面应用中保护代码,你必须使用非受管理的C++。保护知识产权唯一真正有效的方法是:用非受管理的C++组件封装代码,然后从.NET受管理代码中通过COM协作接口调用它。

  另外你还必须清楚的是,由于Active Server Pages.NET(ASP.NET)完全在服务器端运行,因此ASP.NET应用是安全的。实际上,这正是.NET最理想的境界——在受保护的服务器上运行代码,让代码远离任何想要研究它的人。ASP.NET把Web开发简化到了难以置信的程度,而Visual Basic.NET正是编写ASP.NET应用的优秀工具。

  掌握VB.NET需要经过艰苦的学习,而全面接受.NET更是一个缓慢的过程。从VB6迁移到VB.NET并非轻而易举,在把VB6应用移植到VB.NET之前的时间里,你仍旧需要提供对VB6应用的支持。在未来很长的时间内,许多开发者仍将使用VB6。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值