隐藏反汇编程序中C#中应用程序的信息

时间:2010-11-27 02:14:53

标签: c# .net-assembly disassembly

在MSIL反汇编程序中打开我的可执行文件时,即使我将其分配为私有文件,它也会显示我的应用程序的信息(如文字,函数,属性,资源......)。

如何从反汇编程序中隐藏这些信息。

3 个答案:

答案 0 :(得分:4)

您想要寻找obfuscation解决方案。请记住,虽然其他代码无法访问私有成员,但它们仍然存在。但是,混淆可能会使识别代码的行为变得更加困难。

答案 1 :(得分:1)

一个混淆器。信息仍然存在,但名称将是无意义的,旨在尽可能混淆。

答案 2 :(得分:0)

一般来说,你不能。如果您担心有人对您的代码进行逆向工程,那么您最好的选择是考虑以下技术:

  1. Obfuscate代码
  2. Assembly encryption(注意:我没有这方面的经验或工作知识或工作原理的细节。)
  3. 编译为本机程序集而不是MSIL程序集。
  4. 最后一个选项几乎违背了.NET程序集的目的,但是从本机程序集到C#代码的逆向工程比从MSIL到C#要困难得多。实际情况是,如果有人拥有你的DLL,那么给予足够的努力和/或时间可以开发原始(或相当接近)的源。