从安卓SD卡中恢复已删除的数据?

4
我尝试制作一个Android应用程序,该应用程序将尝试从SD卡中恢复已删除的内容。这个想法有多可行呢?我考虑了以下几种方法:
  1. 因为文件实际上并没有被删除,所以我可以访问文件系统以查看标记为要覆盖的文件吗?
  2. 还是我必须进行头部/尾部文件雕刻?从Android应用程序层面是否可行?
我关心的是存储在连续扇区而不是碎片化扇区的文件,我想进行基本的文件检索。
请告诉我一些可以用来制作此应用程序的资源吧。

2
它几乎肯定需要root访问权限。 - Josh Lee
3个回答

4
安卓手机上的SD卡采用FAT32格式,因此任何能够从FAT32文件系统中恢复已删除文件的程序都可以从安卓SD卡中恢复。最简单的方法是使用SleuthKit(http://sleuthkit.org)。使用“fls”命令列出已删除文件的目录和文件簇号,然后使用“icat”命令将其输出。如果您想编写一个应用程序,可以使用SleuthKit库,并使用Android提供的本地接口将您的安卓应用程序链接到SleuthKit。
祝你好运。

2

您可以使用Android NDK在C/C++中完成此操作。但我认为您的应用程序需要root访问权限。


1
是的,我正在使用root手机工作。但是你能告诉我是否需要进行文件爬取吗?你知道一些特定的资源可以供我参考以实现这一点吗?抱歉,文件系统方面对我来说还很新。 - user296840

1

使用Java Android API无法完成此操作。只有“越狱”手机或直接在手机上安装Linux应用程序,即在其/system区域中才能完成。

如果您决定这样做,那么肯定已经存在可以完成此操作的Linux命令行应用程序。您需要寻找一个可以在小内存情况下执行的应用程序。


3
在安卓世界中,它是“rooted”,而不是“jailbroken”。 - Mark B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接