我们在这里进行了有关iOS设备上文件删除的有趣讨论。问题是:如果我使用NSFileManager删除文件,那么到底发生了什么?
我的理解是,删除是通过从文件系统表中删除相应的文件条目来执行的。
counter参数是文件句柄以某种方式保留,并且仅设置了将文件标记为已删除的标志。如果用户具有对iOS设备的超级用户访问权限,则他可能会重置该标志并恢复文件内容。
在这两种情况下,我们都同意不会覆盖实际的文件内容,并且闪存块/磁盘上的普通字节仍然存在,直到该块被另一个文件占用为止。
现在的想法是:如果第二个版本为true,我们可以在删除之前使用一个字节的内容覆盖文件(即使该字节被写入闪存驱动器上的新位置,而实际上不覆盖旧内容)。如果然后恢复该文件,则仅覆盖一个字节的内容可用。
请注意,我们并不是在对闪存驱动器进行取证分析,否则可能会恢复原始文件内容。
因此,回顾一下:
- 如何在iOS上内部删除文件?
- 覆盖方法是否可以防止删除?