【发布时间】:2012-08-02 06:29:52
【问题描述】:
这个问题在过去被问到不同程度的成功......
是否有可以调用的工具或 C/C++ unix 函数使我能够检索文件在磁盘上的位置?不是文件的某个虚拟地址,而是文件所在的磁盘/扇区/块?
这里的目标是能够覆盖磁盘上存在的实际位。我可能需要一种方法来绕过内核的地址叠加。我愿意考虑基于 x86 asm 的解决方案...
但是,我觉得已经有一些工具可以很好地做到这一点。
感谢您对此的任何意见。
【问题讨论】:
-
尽管问题包括询问有关编程 API 函数的建议,但重量似乎在工具上,这就是为什么我投票将其移至 superuser.com。
-
shred 已经这样做了,我相信。
-
当您考虑到数据可能在某些媒体上没有固定位置,并且并非所有媒体都具有扇区和块的概念时,这个问题变得有些毫无意义(最接近通用位置描述符的是一维比特流中的偏移量)。现在,如果您愿意将您的问题范围限制在标准机械硬盘上...
-
所以这让我想到了下一个问题,似乎更紧迫的问题... shred 之类的工具如何执行此任务?还是他们撒谎?
-
为了便于讨论,我们假设数据位于“标准机械硬盘”上。还有……也许我很天真,但数据一直都在……它可能在多个地方,它可能在任意时间移动到不同的地方,但它仍然存在,因此它可以被删除。