gpt4 book ai didi

c++ - 将敏感数据存储在 C++ 编译的二进制文件中是否安全?

转载 作者:可可西里 更新时间:2023-11-01 17:08:01 25 4
gpt4 key购买 nike

众所周知,.NET 生成的 dll 很容易反编译。这意味着敏感信息(例如加密 key )不应存储在 .NET 二进制文件中。

将敏感数据存储在(例如)我的 .NET 代码可以使用的 C++ 二进制文件中是否是一个明智的选择?我对互操作的东西一无所知,但很好奇这是否是一条值得追求的途径。我想澄清一下,我的问题是:

  1. 用 C++(或 C)生成的二进制文件是否可以轻松反编译以访问敏感字符串数据?
  2. 这是一个完全草率的想法吗,要么是因为它行不通、很难实现,要么是因为存在我尚未遇到的更好的替代方案?

最佳答案

答案是否定的。虽然 .NET dll 确实可以被简单地反编译为其原始结构,而 C/C++ dll 只能被反编译为编译器会喜欢的一团糟,但存储在那里的数据将被放置在一个大的、非-损坏,桶所以任何知道要查看哪个部分的人(而且,好吧,所有数据都挤在一起,所以很难知道哪个位是哪个位)但数据将在那里供所有人查看。

Google data segment这是放置 native Windows 二进制文件中的静态数据的地方。

快速编辑:当然,您可以将加密信息存储在您的 C++ 二进制文件中,对其进行预加密,但您必须使用其他东西来存储解密 key (例如,您的 Windows 用户密码或类似密码)。 .NET 允许您将敏感信息存储在配置文件中,并在首次运行或安装时轻松加密,this encrypts并根据运行该应用程序的用户帐户详细信息对其进行解密(因此不要更改它,并在某处保留未加密配置文件的拷贝:-))

关于c++ - 将敏感数据存储在 C++ 编译的二进制文件中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com