Wol*_*ram 6 sd-card usb-flash-drive
我有一张 16GB 的 microSDHC 卡,显然被手机核过(朋友的手机,不确定是哪个,但我可以找到):在拍照时,它突然无法访问/识别该卡。事情发生时我和她在一起。我们立即关掉了手机,并没有尝试格式化卡或任何东西。
使用 SD-CardReader 和 Ubuntu,设备仍然可以被识别,并且可以通过 dd 读取完整的 16GB 没有错误。然而,99% 的 dd-dump 只是 zerobytes,尽管该卡以前包含几 GB 的数据。只有极小部分仍然包含数据,这些碎片分散在 16GB 中。
例如,该卡最初包含一个 FAT32 文件系统。但是,现在引导扇区和分区表以及第一个 FAT 副本和大部分数据都被清零了。奇怪的是,第二个 FAT 副本以及根目录都完好无损。我在 dd-dump 中发现(仅)三个部分 JPG,有趣的是来自这些 JPG 的 Exif 数据表明它们是在卡崩溃之前拍摄的。
所以我的问题如下:
我很感激任何指点 - 因为我的朋友并没有真正在她的手机旁边使用电脑,她从不费心将任何图像从它复制到一个更安全的地方,所以数百张朋友和家人的照片会丢失:-/
没有标准或“内置”方法来告诉 SD 卡为您提供原始 NAND 数据。
这是推测,但 SD 卡中的微控制器可能实现某种物理块地址到逻辑块地址的映射,以便进行磨损均衡。这个 PBA 到 LBA 表可能像实际数据一样存储在 NAND 上,相对较小,可能跟踪空闲块,并且确实可以在几秒钟内被覆盖。
有没有其他方法可以访问闪存卡的较低级别的信息
如果您拆焊 NAND 或将外部电线焊接到其上,找出它是什么类型的 NAND,并在您的 PC 上安装某种接口,您就可以转储原始内容。即使在执行此操作之后,您仍面临着一项困难的逆向工程任务,因为数据格式可能是 SD 卡上的微控制器所独有的,而且我无法想象您会从哪里开始寻找该信息。
您可能会发现这很有趣,但可能不是很有用。SD 卡似乎具有相当于 SCSI“供应商特定命令”的功能,用于更新 SD 微控制器上的固件。因此,理论上可以上传自定义或修改后的 SD 微控制器固件,对读/写请求做出不同的响应。不过,您只会达到上面描述的相同点。我不知道任何实际存在的 SD 微控制器自定义固件或项目。
更新:请参阅@Joep van Steen 的精彩答案。