对于我正在做的一些商业项目,我需要能够读取存储在$ mft文件中的实际数据。
我发现一个gpl lib可以帮助,但因为它的gpl我不能将其集成到我的代码。
有人可以请我指向一个项目,我可以使用/或指向我在相关的Windows API(不需要1000行代码来实现)
顺便说一句,为什么不直接允许我直接读取mft文件呢? (通过创build文件和读取方法,如果我想毁了我的驱动器,这是我的事业不小姐)。
这个内联汇编的意义是什么(:“0”(THREAD_SIZE – 1))在Linux内核2.6.11中为i386
configurationLinux内核(硬加载,内置)当前加载的模块
如何从用户空间调用compat ioctl? 有谁可以请提供一些实例吗?
从程序员的angular度来看Linux内核和UNIX内核(如FreeBSD)之间的区别
Linux驱动程序:从不同的用户进程复制内存
谢谢。
Linux Kernel是否可以被认为是一个单一的过程
为什么在内核编程中使用了u8而不是unsigned int?
如何在Linux上通过inode访问文件
什么是“linux-2.6.3x.x / include / asm-generic /”?
在什么情况下内核线程在Linux中运行?
你只需要使用。 X上的CreateFile()来打开一个卷的句柄:其中X是驱动器号(查看CreateFile()上的MSDN文档,它在备注部分提到了这一点)。
将第一个扇区读入NTFS引导记录结构(可以在网上找到它,搜索Richard“Flatcap”Russon,编辑:我发现它, http ://www.flatcap.org/ntfs/ntfs/files/boot.html )。 引导扇区结构中的一个字段给出MFT在簇中的起始位置($ MFT的VCN 0的LCN),您必须对该位置执行一个SetFilePointer()以读取多个扇区。 从该位置开始的1024个字节是$ MFT的文件记录,同样可以解析这个结构来查找总是非驻留的数据属性,它的大小就是当时MFT文件的实际大小。
$ Boot,File Record和基本属性(标准信息,文件名和数据)以及解析代码的基本结构应该运行1000行代码。
这不会是一个微不足道的提议。 你可能不得不推出你自己的代码解决方案来实现这一点。 您可以通过查看http://www.ntfs.com/ntfs-mft.htm获取有关$ MFT的详细信息
另一个选择是花一些时间浏览开源项目NTFS-3g的源代码。 您可以从http://www.tuxera.com/community/ntfs-3g-download/下载源代码
另一个好项目是NTFSProgs http://en.wikipedia.org/wiki/Ntfsprogs
祝你好运。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。