以编程方式从C中的dd图像中提取文件

时间:2011-02-02 19:22:10

标签: c linux image file extract

我有一些dd图像,我想知道使用C从这些图像中提取文件的最佳方法。图像是混合文件系统(fat32,ntfs,ext2 / 3),主机进行提取会是一个Ubuntu框,所以你可以假设内核头文件和GNU C库等。

本机最好,但做这项工作的外部库也没问题。一个例子的链接将是完美的。

4 个答案:

答案 0 :(得分:2)

这是一项重大的努力。您必须为NTFS,FAT和EXT2重新实现文件系统驱动程序。我已经为FAT和NTFS做了这个,但是花了两年多的时间,尽管其中大部分是逆向工程NTFS。

考虑使用mount命令的file mount选项,这样您就可以使用Ubuntu文件系统驱动程序,而不是重新发明那么大的轮子。然后你可以仔细阅读已安装的文件系统。

答案 1 :(得分:2)

为什么以编程方式使用C?

sudo mount -o loop,offset=[offset] -t auto [where] [what]

其中

  • 偏移量是磁盘开头的字节偏移量,以字节为单位
  • 其中是当前安装映像的文件系统的位置
  • 是您正在挂载的磁盘映像
  • 答案 2 :(得分:1)

    查看The Sleuth Kit,它应该适用于您列出的所有文件系统类型:

      

    Sleuth Kit的原始部分是一个C库以及命令行文件和卷系统取证分析工具的集合。文件系统工具允许您以非侵入方式检查可疑计算机的文件系统。由于这些工具不依赖于操作系统来处理文件系统,因此会显示已删除和隐藏的内容。它可以在Windows和Unix平台上运行。

    如果您正在寻找可供使用的示例代码,那么Sleuth Kit的现有工具集是一个很好的起点。

    答案 3 :(得分:0)

    退房: