如何把配置信息的可执行文件里面?(How to put configuration informat

2019-09-19 01:43发布

如果我们想存储的关键信息,如密码和服务器地址,由Delphi编译器生成的可执行文件中,我们如何能做到这一点,不知道最终可执行文件的大小和二元结构,如在例如文件的结尾?

边注:

该文本存储已经加密; 而在一些计算机的Windows不给访问注册表来写,特别是当用户不是管理员,并有黑客监视注册表变化和智能用户可以找到新的Windows注册表项。

评论

为什么这个问题被向下投票? 这是可以实现的! 不计,如果不感兴趣的大多数人。

我认为,对BIOS和其他固件升级,如卫星电视信号解码器是自我更新。 这怎么可能?

Answer 1:

创建一个字符串表资源是一种方式。

创建一个文本文件。 说secretstuff.rc(必须具有.rc扩展名),在它是这样的。

STRINGTABLE
{
  1,"This is my encrypted password in say Base64"
}

它编译与BRCC32一个res文件。

包括它与编译器指令相关的代码

{$R secretstuff.res}

之后,你有TResourceStream访问。

如果你想管理它好一点可能是明智的,他们的东西在一个dll,而不是一个exe文件,那么你可以通过提供的dll的新版本更新的东西。

有一个更详细的,另一种目的,但同样原理的例子在这里



Answer 2:

您可以使用rc文件把你的数据到最终的.exe文件内自定义资源。 然后,您可以访问该资源在运行时,如用TResourceStream,和解密,并根据需要使用它的内容。 但是,你不能将新数据写入到资源,而.exe文件运行时,如该文件是由OS锁定。 如果你需要编写新的设置,并没有对注册表的写访问,你将不得不使用一个单独的文件来代替。 Windows有预留,用户必须到他们的用户配置文件中写访问特殊文件夹。



文章来源: How to put configuration information inside the executable?