如何从反编译器保护我的.net应用程序?

时间:2016-04-28 08:33:40

标签: c# .net decompiling

好的,所以我有这个连接到数据库的C#应用​​程序有登录和所有东西,但是如果有人刚刚下载反编译器看到我的代码从我的数据库获得了连接字符串并做了他想做的事情? 我怎样才能保护自己呢?即使我可以保护我的连接字符串,我怎么能保护我的实际代码?

4 个答案:

答案 0 :(得分:2)

出于这个原因,您永远不应该在程序集中存储关键信息。有许多方法可以混淆信息,但它们只会延迟不可避免的事情。

请记住:默默无闻的安全措施不安全

  • 访问服务器端应用程序上的数据,并将其传递给经过身份验证的客户端。
  • 将数据库用户帐户限制为所需的最低权限(如果您只需要读取信息 - 确保它没有写访问权等)。

答案 1 :(得分:1)

  

但是,如果有人刚下载反编译器,看到我的代码从我的数据库中获取了连接字符串并做了他想做的事情怎么办?我怎样才能保护自己?

这太可惜了,不是吗?你可以做的只有几点:

  • 使用VPS($$)并在线存储代码的登录部分。你可以使用 LiteCode ,这是一个教程:https://github.com/debug-hf/LiteCode-Example/
  • 使用混淆器避免反编译器和黑客查看您的代码。到目前为止最好的是http://netguard.io。它包括免费计划,所有保费计划都是完全安全的。所有字符串都被加密,融化,秘密存储在文件中。着名的反混淆器,即使它处理市场上的每一个混淆器,它都无法处理它!{/ li>

希望它有所帮助:)干杯

答案 2 :(得分:0)

连接字符串可以在配置文件中加密

Connection Strings and Configuration Files

但是,你无法真正保护你的代码免受那些希望查看它的功能的人的影响,你只能通过混淆来加剧它。

我想补充一点,正确的安全模型可以限制对物理文件和数据库“数据”的访问,但这取决于您的部署模型。

答案 3 :(得分:-2)

您应该将连接字符串存储在app.config或web.config文件中。