微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从磁盘上的空白空间读取字节

如何解决从磁盘上的空白空间读取字节

众所周知,一般来说,当您在大多数(所有?)现代操作系统上删除磁盘上的文件时,该文件的字节不会被删除,但该空间被“释放”并且不会被其他数据覆盖,直到它用于另一个写操作。

我也知道在类 UNIX 系统上,我可以直接从它在 /dev/whatever 处的文件系统中的表示读取磁盘上的字节。

然而,/dev/whatever 返回磁盘上所有内容的所有字节,包括在面向用户的意义上仍然“存在”的文件,我真正想做的是识别和读取 删除某些资源后磁盘上剩余的字节 - 因此磁盘的“空闲”空间中仍然存在的数据(我知道存在文件恢复和数字取证工具可以恢复这些文件,但出于我的目的,我需要做一些更接近金属的事情 - 我有兴趣获得剩余在磁盘空白空间上的数据字节流,没有额外的结构)。

因此,有什么方法可以以编程方式访问(例如)已分配和未分配的磁盘空间范围,然后从磁盘读取与未分配范围对应的字节?对于编程语言,我很不可知——我假设这将涉及可从一个小 C 程序或类似程序调用的低级 API。

我假设这是依赖于操作系统/文件系统 - 如果这有帮助,我在 Mac OS X 和 apfs 上,但会感谢任何 OS/FS 组合的提示,因为我最终要将这个项目移植到其他平台。

非常感谢任何提示或见解!谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?