0

我们如何使用c#加密可执行文件并使该加密文件仍然可执行而不使用额外文件进行解密?
意味着解密方法应该在文件中。
我怎么能用 c# 语言写这样的东西?

提前感谢

4

1 回答 1

2

在客户端机器上存储加密数据并让它自动解密意味着您也必须在该机器上存储解密密钥。这意味着您无法有效地保护数据并将其提供给用户。这种加密仅用于减缓用户篡改数据的速度,因为需要时间来恢复解密密钥和算法。

如果要对可执行文件本身的代码进行加密,以防止用户对其进行篡改,这是一个非常非常复杂的话题。只是坚持和时间的问题。您不会在一篇 StackOverflow 帖子中得到此类问题的答案。您必须学习 PE 和 .NET 文件格式、有关可执行加载程序以及 mscor* 的操作系统内部结构。

如果你需要存储一些数据

  • 选择一些加密算法并将您的数据加密到文件中(请参阅此问题
  • 将加密文件作为嵌入式资源添加到您的 c# 项目中
  • 在运行时访问这个文件(见这个问题)并解密它(已经在第一点讨论过)
于 2012-08-15T11:04:15.697 回答