我爱Aspx >> Asp.Net >> 防止对 Visual Basic .NET 或 C# 代码进行反相工程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# 中通过 P/Invoke 调用Win3..[05-20]
C# 泛型简介[05-20]
《Effective C#》 翻译札记[05-20]
常用.NET工具下载(包括.NET可再发..[05-20]
.NET 2.0中的字符串比较[05-20]
Asp.net与SQL一起打包部署安装[05-20]
发现好站:http://www.windowsfor..[05-20]
微软提供的ASP.NET 2.0空间,你还..[05-20]
服务器应用程序不可用 [asp.net2..[05-20]
在ASP.NET中实现AJAX[05-20]
在 C# 中通过 P/Invoke 调用Win3..[05-20]
C# 泛型简介[05-20]
《Effective C#》 翻译札记[05-20]
Visual Studio 2005 新功能、新特..[05-20]
对mssql出现选定的用户拥有对象而..[05-20]
常用正则表达式[05-20]
将 Web 项目从 VS2002/2003 转换..[05-20]
Visual Studio 术语表[K-Z][05-20]
使用 Visual Studio 2005 Team S..[05-20]
常用CHM帮助文档集锦下载[2007-0..[05-20]