• λ我爱Aspx >> Asp.Net >> 防止对 Visual Basic .NET 或 C# 代码进行反相工程
  • 防止对 Visual Basic .NET 或 C# 代码进行反相工程

  • :未知  Դ:internet  :2007-5-20 16:49:09  ؼ:c#,.net
  • Gabriel Torok和 Bill Leach

    本文假设您熟悉 .NET 与 C#

    摘要

    .NET 体系结构的优势之一在于,利用该体系结构构建的程序集包含很多有用的信息,使用中间语言反汇编程序 ILDASM 即可恢复这些信息。但是这样会带来另一个问题,就是可以访问您的二进制代码的人能够以非常近似的手段恢复原始源代码。作者将在文中介绍程序模糊处理,该处理可作为一种阻止反相工程的手段。此外,他们还将讨论可用的不同类型的模糊处理技术,并示范 Visual Studio .NET 2003 中包含的新模糊处理工具。

    本页内容
    反汇编
    反编译
    深入了解模糊处理
    重命名元数据
    删除非基本元数据
    其他技术
    使用 Dotfuscator Community Edition
    检查映射文件
    模糊处理程序的缺陷
    小结

    迄今为止,从减轻部署和版本控制的负担,到自描述二进制数据所实现的丰富 IDE 功能,您可能已经熟悉了这些元数据丰富的 Microsoft® .NET Framework 体系结构带来的所有好处。您可能不知道元数据的这种易用性带来的一个目前对于大多数开发人员来说还没有注意到的问题。为公共语言运行库 (CLR) 编写的程序更易于进行反相工程。不管怎么说,这并不是 .NET Framework 设计中的缺陷;它只是一种现代的、中间编译语言(Java 语言应用程序具有同样的特征)的现实状况。Java 和 .NET Framework 都使用内嵌在可执行代码中的丰富元数据:在 Java 中是字节码,在 .NET 中是 Microsoft 中间语言 (MSIL)。由于比二进制机器码要高级很多,可执行文件充满了可以轻松破解的信息。

    Ҷƪл˵?
  • һƪC# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
    һƪ在 C# 中通过 P/Invoke 调用Win32 DLL