加密 Visual Basic 项目

Encrypt Visual Basic Project

我能否加密 Visual Basic 项目,使其无法被 dotPeek 或任何其他软件反编译?我做了一些研究,但找不到任何东西。

你问的问题是The XY Problem的一个很好的例子,你有问题X,提出解决方案Y,然后问如何执行或实施Y。我先回答Y再建议你在 X 上,这是你真正应该问的,例如"If I have an API key in my source code, how can I keep it safe?".

Y 的答案是有点像。您可以混淆您的 .NET 程序集,使其变得相当难以准确确定源代码的作用。但是,常量值(例如 API 键)将更容易检索,因为它是常量字符串值。这里要记住的重要一点是 混淆并不安全,API 密钥肯定仍然可以检索。

X 的答案(您应该提出的问题)以及您应该遵循的建议是 根本不在您的应用程序中存储 API 密钥.拥有一个可以向其发送请求的外部服务器,该服务器将依次使用 API 键检索相关数据并执行操作。拥有自己的服务器作为中间人意味着您可以根据自己的选择对请求进行速率限制和对用户进行身份验证。 API 密钥永远不应该存储在客户端代码中(除非你有 public 和私人 API 密钥之类的东西,我相信 Stripe 和其他人使用它们)。