如何在Delphi中创建一个不可删除的文件

时间:2011-04-27 18:12:25

标签: file delphi corrupt file-manipulation

[以下是我之前提出的问题的改写,被认为是含糊不清的]。

我正在深入研究为演示应用程序创建基本许可机制。我想到的是这样的:应用程序创建一个空的“许可证文件”,在第一次运行时称为“0b1xa487x.ini”,然后在第一次执行后30天到期,不能再运行了很长时间因为该特定文件存在于系统中。

我正在寻找的是一种以某种方式保护该特定文件以阻止删除的方法。由于它将是一个空白文件,没有任何内容,我不介意它是腐败的,有腐败的标题,无效的日期,无论如何保持不可取消。

我在某处根据文件属性看到过类似的方法(该文件设置了HX属性);然而,属性方法让我无处可去,因为我找不到任何有关文件属性X存在的文档特征。

我也知道还有其他方法,包括作为系统用户启动的rootkit驱动程序和系统服务,但是这个特定的方法似乎最适合这种情况。我再次概述了文件的内容也可能无法访问,我不打算使用该方法运行文件中的任何恶意软件,因为我在下面被指责:)

3 个答案:

答案 0 :(得分:5)

腐败暗示不符合某些标准。空白文件没有标准。

答案 1 :(得分:3)

感谢大家的建议。我发现了一种使文件无法访问的方法,即使用幸运的文件权限组合。缺点是这些东西在非NTFS分区上不起作用。好的一点是,我可以在我的应用程序之后通过以编程方式删除这些权限并随后删除所有权限来清理。

答案 2 :(得分:2)

关于您对Henk的最后答复,我相信创建服务更容易,使用操作系统自动启动它,并使用TFileStream在fmShareExclusive中打开文件。

但是,您无法强制操作系统的内核或防病毒软件使您的文件“不可删除”。

祝你好运,
拉杜