有没有办法防止像反射器这样的软件打开dll?

时间:2009-05-14 10:13:59

标签: c# reflector

HI, 有没有办法防止C#中的特定dll在反射器中打开。我可以打开许多dll,并可以使用反射器获取代码。但是当试图打开一些dll时,它会显示一条错误消息,指出“该特定dll不包含CLI标题。”。

我怎样才能制作这样的dll?

4 个答案:

答案 0 :(得分:11)

您确定这些DLL是托管代码dll吗?我不这么认为,如果它们不包含CLI标题,则它们不是用C#编写的。

对于您的问题,您无法阻止在反编译器中打开托管DLL,您可以做的就是对其进行模糊处理。

答案 1 :(得分:4)

如果你想保护你的.net dll,你可以混淆你的程序集

Free .NET Obfuscation Tools

你也有商业......

“partic dll不包含CLI标头。”消息显示在Reflector中,因为它们不是托管dll(.net)。

答案 2 :(得分:2)

我以为曾经有某个IL代码导致反射器崩溃。但是现在修复了这个错误。

模糊处理很好 - 您还可以尝试加密代码的某些关键部分并在运行时解密+加载+编译。问题是如何存储密码。

您无法阻止反射器打开它。

答案 3 :(得分:2)

没有办法阻止Reflector打开.Net程序集,但是你通过混淆程序集使它变得毫无意义。在混淆之后,重命名类/方法/字段,方法中的内联字符串被加密,方法调用被隐藏,方法控制流被加扰等等。所以,任何使用Reflector的人都会看到很多垃圾,而且无法理解它的大部分内容。

免责声明:我为Crypto Obfuscator

的开发人员LogicNP Software工作