阅读:1577回复:3
请教:在boot-driver里面,使用ZwCreateFile不成功,请教各位达人!
我想在Boot-Driver里面使用使用ZwCreateFile对文件进行操作!但是总是不成功!
代码如下: NTSTATUS ntStatus; OBJECT_ATTRIBUTES ObjectAttributes; IO_STATUS_BLOCK IoStatusBlock; UNICODE_STRING UniFileName; //KPROCESSOR_MODE AccessMode; PCWSTR FileName = pcFileName; HANDLE FileHandle = NULL; peHeader *pehead; ULONG uBufferSize = 0; UCHAR *pBuffer; PCWSTR FileName = L"\\??\\C:\\windows\\system32\\abc.dll" //PCWSTR FileName = L"\\SystemRoot\\system32\\abc.dll"; __asm int 3 //AccessMode = ExGetPreviousMode(); RtlZeroMemory(&ObjectAttributes , sizeof(OBJECT_ATTRIBUTES) ) ; RtlZeroMemory(&IoStatusBlock, sizeof(IO_STATUS_BLOCK) ); RtlInitUnicodeString(&UniFileName , FileName); InitializeObjectAttributes(&ObjectAttributes, &UniFileName, OBJ_CASE_INSENSITIVE,//OBJ_CASE_INSENSITIVE, //|OBJ_KERNEL_HANDLE, NULL, NULL); /*ObjectAttributes.Length = 0x18; ObjectAttributes.ObjectName = (PUNICODE_STRING)&UniFileName; ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE; ObjectAttributes.RootDirectory = 0; ObjectAttributes.SecurityDescriptor = 0; ObjectAttributes.SecurityQualityOfService = 0;*/ /*ntStatus=ZwOpenFile(FileHandle, GENERIC_WRITE|GENERIC_READ|SYNCHRONIZE, &ObjectAttributes, &IoStatusBlock, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_SYNCHRONOUS_IO_NONALERT); */ //latest code ntStatus = ZwCreateFile(&FileHandle, FILE_READ_DATA|FILE_WRITE_DATA|SYNCHRONIZE,//MEM_TOP_DOWN|FILE_READ_DATA|FILE_WRITE_DATA|DO_DEVICE_INITIALIZING, &ObjectAttributes, &IoStatusBlock, 0, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_WRITE|FILE_SHARE_READ, FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT|FILE_NON_DIRECTORY_FILE|FILE_RANDOM_ACCESS, NULL, 0); if(ntStatus != STATUS_SUCCESS) { DbgPrint("ZwCreateFile() failed with status 0x%08lx\n", ntStatus); return -1; } 其中如果:FileName == L"\\??\\C:\\windows\\system32\\abc.dll" 返回0xc0000000d 参数错误 其中如果:FileName == L"\\SystemRoot\\system32\\abc.dll"; 返回0xc000003a参数错误 我在网上找了找资料: 现在怀疑是否是我驱动装载的时候,文件系统还没有装载,便不能看到c:\windows\system32目录 那么有什么办法可以解决呢? 请教各位~~谢谢!! |
|
最新喜欢:![]() |
沙发#
发布于:2007-05-30 17:57
想学my123?
看看人家的代码吧,在初始化例程里先判断 SystemRoot能不能打开,不能继续Reinit,能就开始干活~ |
|
|
板凳#
发布于:2007-05-30 21:18
Re:请教:在boot-driver里面,使用ZwCreateFile不成功,请教各位达人
刚才找到了这种实现方法但是好象觉得不是很好~~虽然可以实现 不过也谢谢了~~ |
|
地板#
发布于:2007-06-04 12:35
file system is not ready yet
|
|
|