用文本文档打开时,exe显示敏感信息

时间:2018-07-16 14:43:15

标签: c# visual-studio security

我最近发现,使用Visual Studios用C#编写的已发布程序在将exe拖到文本文档中时以纯文本形式显示密码和sql语句。密码很容易加密,但是我在太多不同的程序中都有太多的sql语句,很难轻松地对每个密码进行加密。如何将纯文本中的信息变成不可读的符号?

2 个答案:

答案 0 :(得分:2)

您不保护二进制文件中的机密。重新设计时假设有人想要闯入就可以访问二进制文件中的所有机密。

很久以前,我们有这个坏主意。我们已经保护了密码,避免了诸如在文本编辑器中打开之类的琐碎事情。我演示了如何在五分钟内获取密码。

今天,它变得越来越容易。 System.Data.SqlClient的参考源已经发布,您可以获取.pdb的{​​{1}}文件。假设想要按键的人可以做到这一点。

计算机安全有一个基本定理:远程证明是不可能的。您只能验证用户,不能验证程序。

我们可以说有些事情会使那些想对软件进行反向工程的人放慢速度,第二个问题是“不要使用.NET。”

答案 1 :(得分:0)

如评论中所述,只要程序需要能够自行解密,就不可能将其隐藏在程序中。您需要将敏感数据和功能移到其他位置,并只为二进制分发提供所需的特权。例如。它可以存储API密钥以向后端服务发出授权请求。