2016-09-23 72 views
1

我用Visual Studio做了一个应用程序(Windows应用程序)。这个应用程序包含我的一些敏感数据,如连接字符串等。当我发布我的应用程序时,我得到了一些.exe.dll文件。但是当我在dotpeek和其他.net反编译器中打开这些.dll和.exe文件时,它们返回的结果与我编程的相同。如果我公开发布我的应用程序,任何人都可以反编译我的应用程序并阅读或理解我的代码或解密密钥。我想知道,是否有任何安全的方法来防止这种情况发生?提前致谢。 对不起,我的英文不好。如何保护我的连接字符串内的.dll文件

回答

0

简单的答案是你不能。即使你对它进行了模糊处理(通常很容易撤销),连接字符串将在线上清除并且可以被嗅探。问题是没有隐藏连接字符串,它正在摆脱它,如果它是(如我所料)数据库连接字符串到您的服务器,应该永远不会发生,你公开给的不可信应用程序应该永远不能连接到你的SQL服务器,它应该调用具有定义好的方法的Web服务,这些方法只执行应用程序应该执行的操作,并且内置了某种形式的身份验证,以将这些调用限制为适用于个人的调用。基本上,如果您的应用程序公开发布并直接连接到您的数据库服务器,这几乎就像在您的应用程序相同的特权级别上给予每个人直接读写数据库的权限,因为获取凭证将是微不足道的并且不需要反编译,只需嗅探连接信息并查看应用程序发送的内容即可。你需要重新考虑你的架构。