При каких обстоятельствах ZwQueryInformationFile может возвращать успешно, но показывая размер файла 0, это притом что там далеко не 0? Код (Text): local iosb:IO_STATUS_BLOCK local buffer[64]:byte local FileHandle:dword push FILE_SYNCHRONOUS_IO_NONALERT push FILE_SHARE_READ lea eax,iosb push eax push oa push FILE_READ_DATA + SYNCHRONIZE lea eax,FileHandle push eax call ZwOpenFile .if eax == 0 push FileStandardInformation push sizeof FILE_STANDARD_INFORMATION lea eax,buffer push eax lea eax,iosb push eax push FileHandle call ZwQueryInformationFile .if eax == 0 lea eax,buffer mov eax,FILE_STANDARD_INFORMATION.EndOfFile.LowPart[eax] В eax = 0 Может есть другой способ получения размера файла?
Flasher Попробуй так получать хендл: ZwCreateFile( &Handle, FILE_READ_ATTRIBUTES | SYNCHRONIZE, &ObjectAttributes, &IoStatusBlock, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE, NULL, 0);