gpt4 book ai didi

security - 如何提高 Delphi 中的内存安全性?

转载 作者:行者123 更新时间:2023-12-03 15:37:45 24 4
gpt4 key购买 nike

是否可以在 Delphi 中“删除”字符串?让我解释一下:

我正在编写一个应用程序,其中包含一个 DLL 来授权用户。它将把加密文件读入 XML DOM,使用其中的信息,然后释放 DOM。

很明显,未加密的 XML 仍然位于 DLL 的内存中,因此容易受到检查。现在,我不会过度保护这一点 - 用户可以创建另一个 DLL - 但我想采取一个基本步骤来防止用户名在内存中停留很长时间。然而,由于引用,我认为无论如何我都无法轻易删除内存。如果我遍历 DOM(这是一个 TNativeXML 类)并找到每个字符串实例,然后将其变成类似“aaaaa”的内容,那么它实际上不会将新字符串指针分配给 DOM 引用,然后保留旧字符串内存中有等待重新分配的地方吗?有没有办法确保我正在删除唯一的原始副本?

或者 D2007 中有一种方法可以告诉它从堆中删除所有未使用的内存吗?所以我可以释放 DOM,然后告诉它删除。

或者我应该继续我的下一个任务并忘记这个,因为它真的不值得打扰。

最佳答案

我认为这不值得打扰,因为如果用户可以使用 DLL 读取进程的内存,那么同一用户也可以在任何给定时间点停止执行。在删除内存之前停止执行仍将允许用户完全访问未加密的数据。

IMO 任何足够感兴趣并且能够执行您所描述的操作的用户都不会因 DLL 删除内存而造成严重不便。

关于security - 如何提高 Delphi 中的内存安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/536328/

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