分发调试.NET.dll文件时保护源代码?

分发调试.NET.dll文件时保护源代码?,.net,dll,source-code-protection,.net,Dll,Source Code Protection,我有一个web软件,它有一个私有组件(computative.DLL),由一个联合开发的网站(ASP.NET)使用。我开发了private.DLL,并希望确保即使编译为debug.DLL,当网站开发人员调试网站,然后进入private.DLL内的调用时,它也不会显示/泄漏任何私有源代码 是否有任何特殊的编译标志/设置或技术来保护生成的.dll?最好是我可以在VisualStudio2010中安装的东西,而无需昂贵的附加组件 由于不知道windows二进制文件/dll的结构,源文件是否可能作为元数

我有一个web软件,它有一个私有组件(computative.DLL),由一个联合开发的网站(ASP.NET)使用。我开发了private.DLL,并希望确保即使编译为debug.DLL,当网站开发人员调试网站,然后进入private.DLL内的调用时,它也不会显示/泄漏任何私有源代码

  • 是否有任何特殊的编译标志/设置或技术来保护生成的.dll?最好是我可以在VisualStudio2010中安装的东西,而无需昂贵的附加组件

  • 由于不知道windows二进制文件/dll的结构,源文件是否可能作为元数据嵌入到生成的二进制文件(.dll或.pdb)中?如果源代码不可能嵌入到debug.dll/pdb中,那么我想我可以放下我的妄想症了。。。(仅供参考,一些嵌入式系统在源代码处显示,调试二进制图像末尾显示符号)


  • 此外,我们还感谢您提供有关在dll中保护IP的任何其他提示和要点。

    如果您不想允许在dll代码中加入任何解决方案,请不要在.pdb文件中提供dll

    另一件事是在网上有没有工具,不允许解除您的dll

    编辑

    您可以保护您的dll和exe文件,并使反射器无法理解它们,您可以使用VS 2008专业版附带的Dotfuscator社区版

    对于那些没有专业版的人,他们可以使用免费的Dotfuscator,我在downloads.com上找到的


    原始答案:

    为了确保我正确理解您的需求,您希望使用完整的源代码进行调试,而不希望其他人能够这样做?@JoachimIsaksson:是的,我希望能够在我结束时对其进行步进/调试,但在将DLL发送到外部团队以保护DLL中的IP之前,请翻转一些开关。使用此类混淆器是否会影响性能?基本上是混淆器(我知道,不是全部,这里有点超出范围)对代码进行一点洗牌,使其不容易识别回源代码。编译器倾向于在生成最佳代码方面做得相当好,因此是的,对其进行无序处理可能会影响性能。