gpt4 book ai didi

android - 删除外部存储中的文件 - 可以硬删除吗?

转载 作者:行者123 更新时间:2023-11-29 16:50:39 25 4
gpt4 key购买 nike

当我删除存储在外部存储器中的文件时,例如照片

有没有办法使用“硬”删除来删除文件,使其无法轻易恢复?

即如果其他应用程序可以访问外部存储,我不希望它们恢复已经删除的照片

最佳答案

没有 root 访问权限的普通应用程序已经无法恢复已删除的文件。一旦 unlink 被调用,文件就消失了。

具有根访问权限的应用程序可以通过直接读取原始虚拟设备文件 (/dev/storage/*) 来恢复未链接的文件。删除文件并将其移动到不同的目录只是删除目录条目而不触及文件内容(如果文件不再在任何地方引用,它们将被简单地标记为“未使用”)。因此,可以收集以前属于文件且自删除后未被覆盖的残留扇区。根据特定的文件系统,防止这种情况可能会有不同程度的困难。大多数外部存储上的外部文件系统是 vFAT。在 vFAT 中,可以通过在删除文件并用零覆盖其全长之前打开文件来防止残留扇区。其他文件系统(最著名的是三星的 F2FS)可能会采取措施,由于直接内置于文件系统本身的磨损均衡,安全删除文件变得更加困难。

不要费心防御电路级磨损均衡。它发生在如此低的水平,以至于如果不破坏手机和使用隧道显微镜就无法恢复数据。只有闪存 Controller 固件可以看到该数据,并且大多数 Controller 不允许从操作系统程序访问闪存固件。


当然,您仍然需要确保该文件没有缓存在某些辅助存储设备中(例如,图像的缩略图可能已缓存在缩略图缓存中或系统 MediaProvider 中)。当然,在删除之前,其他一些程序可能已将文件复制到某个地方。因此,确保“安全删除”的最安全方法是对文件进行加密:即使有人在删除前窃取它们或在删除后恢复其内容,如果没有解密 key ,这些内容也是无用的。其次是逐字节覆盖。

有些人可能会建议采用强硬的蛮力方法:取消链接文件后,创建一个一次性临时文件并用等于分区上剩余可用空间的随机数据量填充它。这将有效地击败所有形式的磨损均衡并在大多数情况下阻止文件恢复。不幸的是,这种方法非常慢,对闪存的消耗极大,并且无法防御之前复制文件的应用程序。

  • “取消链接”是一个术语,传统上用于描述在 Linux 中删除文件(谷歌搜索“inodes”)。使用 File#delete 删除文件会取消链接

关于android - 删除外部存储中的文件 - 可以硬删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46548087/

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