【问题标题】:Securing source code when distributing debug .NET .dll files?分发调试 .NET .dll 文件时保护源代码?
【发布时间】:2015-07-18 02:05:01
【问题描述】:

我有一个网络软件,它有一个私有组件(一个计算 .DLL),供一个联合开发的网站 (ASP.NET) 使用。我开发了私有 .DLL,并希望确保即使编译为调试 .dll,当网站开发人员调试站点然后进入调用时,它也不会显示/泄漏任何私有源代码位于私有 .dll 中。

  1. 是否有任何特殊的编译标志/设置或技术来保护生成的 .dll ?最好是我可以在 Visual Studio 2010 中设置而无需昂贵的附加组件。

  2. 不知道 Windows 二进制文件/dll 的结构,甚至可以将源作为元数据嵌入到生成的二进制文件(.dll 或 .pdb)中吗?如果源代码不可能嵌入到调试 .dll/pdb 中,那么我想我可以降低我的偏执水平......(仅供参考,一些嵌入式系统在调试二进制图像的末尾将源代码和符号连接起来)

还感谢任何其他有关在 DLL 中保护 IP 的提示和要点。

【问题讨论】:

  • 只是为了确保我正确理解您的要求,您想使用完整源代码进行调试并且不希望其他人能够做到吗?
  • @JoachimIsaksson:是的,我希望能够在最后一步/调试它,但在将 DLL 发送给外部团队之前翻转一些开关以保护 DLL 中的 IP。

标签: .net dll source-code-protection


【解决方案1】:

如果您不想允许插入您的 dll 代码,那么一种解决方案就是不要为您的 .pdb 文件提供 dll。

其他的事情是在网上没有可用的工具不允许你拆卸你的 dll。

编辑

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

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

http://download.cnet.com/Macrobject-Obfuscator-NET-2008/3000-2247_4-178720.html

原始答案:http://forums.asp.net/t/1442467.aspx/1

【讨论】:

  • 使用此类混淆器是否会对性能产生影响?
  • 基本上混淆器(我知道,不是整个故事,这里有点超出范围)将代码打乱一点,以便不容易识别回源代码。编译器倾向于在生成最佳代码方面做得很好,所以是的,改组它可能会对性能产生影响。
猜你喜欢
  • 2017-09-03
  • 2020-03-06
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多