-
-
[讨论]关于文件系统IRP_MJ_CREATE
-
发表于:
2015-3-19 21:25
4204
-
当我们调用createfile的时候,IO管理器会产生一个IRP_MJ_CREATE发送给文件系统。那么问题来了:
假设有2个磁盘,c:,d:,对应的ftdisk的设备对象是\device\harddiskvolume1和\device\harddiskvolume2, volume1->对应ntfs的设备对象假设地址是0xfffe8100,
volume2->对应0xfffe8200,ntfs还有一个CDO控制设备对象,假设是0xfffe8000,
假设文件名是,c:\a.txt,那么这个IRP_MJ_CREATE是发送到CDO还是volume1对应的0xfffe8100呢?如果发送到CDO,可以认为IO管理器不会解析文件名,不管文件名是c:\a.txt,还是d:\a.txt,一律发送到CDO了事,如果发送到volume1的0xfffe8100,那么IO管理其还先要从文件名中
提取出c:\判断是volume1还是volume2再决定发送到那个ntfs的设备对象呀。
那么答案到底是发送到CDO还是发送到volume1呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)