阅读:1907回复:7
如何获得pagefile.sys的bitmap(在分区中占用的簇)?
在DEFRAG示例中可以用FSCTL_GET_RETRIEVAL_POINTERS获得文件的bitmap
但必须用CreateFile函数打开,Pagefile.sys不能被打开。 在碎片整理程序中Pagefile.sys可以被当作“无法移动的文件”被标示出来,有谁知道它是如何做的? |
|
沙发#
发布于:2005-06-25 03:21
发送IOCTL CODE去Device上查询,在驱动与应用程序里面都可以做,I/O control code是FSCTL_GET_VOLUME_BITMAP,再根据文件系统类型去QUERY Cluster size进行画图操作就OK了;
|
|
板凳#
发布于:2005-06-28 16:28
这样还是没法知道pagefile.sys占用了哪些簇.
|
|
地板#
发布于:2005-08-03 18:53
用FSCTL_GET_VOLUME_BITMAP是不可能的吧,文件句柄都无法打开哦
|
|
地下室#
发布于:2007-01-08 13:05
分析文件系统.
|
|
5楼#
发布于:2007-01-08 21:02
自己打开物理磁盘,然后自己分析格式,找到文件,不过在VISTA下64可能不行,因为MS在RING3禁止打开物理磁盘.的确,安全高于一切......
|
|
|
总版主
|
6楼#
发布于:2007-01-08 21:17
pagefile.sys虽然不能CreateFile,但是FileObject还是容易得到的,在过滤驱动中很容易得到.得到后就等于CreateFile了(虽然不是自己调的CreateFile),然后再发IRP试一下。
|
7楼#
发布于:2007-01-09 13:06
从 ntfs 格式入手,没问题,
很久前做过,直接可以读出里面的数据 |
|
|