问题描述
众所周知,一般来说,当您在大多数(所有?)现代操作系统上删除磁盘上的文件时,该文件的字节不会被删除,但该空间被“释放”并且不会被其他数据覆盖,直到它用于另一个写操作。
我也知道在类 UNIX 系统上,我可以直接从它在 /dev/whatever
处的文件系统中的表示读取磁盘上的字节。
然而,/dev/whatever
返回磁盘上所有内容的所有字节,包括在面向用户的意义上仍然“存在”的文件,我真正想做的是识别和读取 仅删除某些资源后磁盘上剩余的字节 - 因此磁盘的“空闲”空间中仍然存在的数据(我知道存在文件恢复和数字取证工具可以恢复这些文件,但出于我的目的,我需要做一些更接近金属的事情 - 我有兴趣获得剩余在磁盘空白空间上的数据字节流,没有额外的结构)。
因此,有什么方法可以以编程方式访问(例如)已分配和未分配的磁盘空间范围,然后从磁盘读取与未分配范围对应的字节?对于编程语言,我很不可知——我假设这将涉及可从一个小 C 程序或类似程序调用的低级 API。
我假设这是依赖于操作系统/文件系统 - 如果这有帮助,我在 Mac OS X 和 apfs 上,但会感谢任何 OS/FS 组合的提示,因为我最终要将这个项目移植到其他平台。
非常感谢任何提示或见解!谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)