我有一些dd图像,我想知道使用C从这些图像中提取文件的最佳方法。图像是混合文件系统(fat32,ntfs,ext2 / 3),主机进行提取会是一个Ubuntu框,所以你可以假设内核头文件和GNU C库等。
本机最好,但做这项工作的外部库也没问题。一个例子的链接将是完美的。
答案 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)