为啥vs2008 express显示给我另一个dll项目的源代码?

Posted

技术标签:

【中文标题】为啥vs2008 express显示给我另一个dll项目的源代码?【英文标题】:Why does vs2008 express shows me the source code for another dll Project?为什么vs2008 express显示给我另一个dll项目的源代码? 【发布时间】:2009-05-04 03:22:28 【问题描述】:

我是 .net 的新手,尤其是 c# 3.0,我正在开发一个访问数据库包装应用程序,因为我们需要保护数据库的密码和内容不被第三方开发人员直接访问。

我目前正在测试编写一个简单的客户端应用程序来触发 dll 中的功能,令我惊讶的是,每次遇到错误时,我都可以看到该项目中的所有源代码,其中显示了确切的源代码。

所以我知道我可能在这里遗漏了很多明显的东西,但是我如何对其进行编码以使这种情况不会发生,以便我们可以向第三方开发人员隐藏 dll 中的代码?或者这是因为两个项目都在我的电脑中才发生的设置?

谢谢:)

更新:

经过一番浏览,我发现了这个previous discussion on good obfuscation tool 和i try this one tool called Eazfuscator.Net 并在混淆 dll 后,我尝试使用 .net 反射器再次查看它或通过 vs express2008 对其进行调试,没有更多显示:)

【问题讨论】:

【参考方案1】:

您看到的是确切的代码,因为源代码在您的计算机上,但是,第三方开发人员使用 Reflector 等工具从 DLL 逆向工程代码将是微不足道的。为防止出现此类情况,您可能需要使用code obfuscation 实用程序,例如Dotfuscator(您可能需要付费版本而不是社区版本),以使从中间代码重构代码变得更加困难。

【讨论】:

@tvanfosson,哎呀,这是否意味着我应该坚持使用 vb6 来创建包装器? :S

以上是关于为啥vs2008 express显示给我另一个dll项目的源代码?的主要内容,如果未能解决你的问题,请参考以下文章

vs 2008 express:注册

如何在 VS2008 Web Developer Express 的一个解决方案中添加多个项目?

VS 2008 与 VS 2008 快递

为啥我在VC++6.0 或者在vs2008上面安装了Visual Assist X并破解了,运行编程软件后界面显示是红色的GO

在 Visual Studio 2008 Express Edition (VS2008EE) 中配置 64 位编译

如何使用VS2008中集成的SQL Server 2005 Express?