Сейчас на форуме: laslo, UniSoft, bartolomeo (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› ZwQueryDirectoryFile + FileMaximumInformation |
Посл.ответ | Сообщение |
|
Создано: 31 октября 2010 18:45 · Личное сообщение · #1 |
|
Создано: 31 октября 2010 19:21 · Личное сообщение · #2 |
|
Создано: 31 октября 2010 19:22 · Поправил: Coderess · Личное сообщение · #3 Это заглушка конца енума. Code:
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 31 октября 2010 21:37 · Личное сообщение · #4 Coderess - то что ты привел - все так, все правильно но только для Windows меньше семерки. В Windows 7 FileMaximumInformation используется для получения информации о каталоге или файле. Причем, как я видел, система вызывает ZwQueryDirectoryFile с FileMaximumInformation и размером буфера не FF а там допустим 0x278. Windows использует FileMaximumInformation например в Open/Save диалогах. Если попробуешь перехватить вызов ZwQueryDirectoryFile и показать Open диалог, увидишь как активно FileMaximumInformation используется. Но это только в семерке. Например, заметил, по тому чтоZwQuery вызвращает, начало очень похоже на _FILE_FULL_DIRECTORY_INFORMATION но вот потом херистика какая то начинается. ![]() |
|
Создано: 31 октября 2010 23:50 · Личное сообщение · #5 |
|
Создано: 01 ноября 2010 01:25 · Поправил: V0ldemAr · Личное сообщение · #6 Enigma пишет: В Windows 7 FileMaximumInformation используется для получения информации о каталоге или файле. Ибо в семерке энум больше и твой FileMaximumInformation совпадает с чем-то, это просто константа. Также учимся использовать WinDbg: Энум Win7 x64 0:000> dt _FILE_INFORMATION_CLASS ntdll!_FILE_INFORMATION_CLASS FileDirectoryInformation = 0n1 FileFullDirectoryInformation = 0n2 FileBothDirectoryInformation = 0n3 FileBasicInformation = 0n4 FileStandardInformation = 0n5 FileInternalInformation = 0n6 FileEaInformation = 0n7 FileAccessInformation = 0n8 FileNameInformation = 0n9 FileRenameInformation = 0n10 FileLinkInformation = 0n11 FileNamesInformation = 0n12 FileDispositionInformation = 0n13 FilePositionInformation = 0n14 FileFullEaInformation = 0n15 FileModeInformation = 0n16 FileAlignmentInformation = 0n17 FileAllInformation = 0n18 FileAllocationInformation = 0n19 FileEndOfFileInformation = 0n20 FileAlternateNameInformation = 0n21 FileStreamInformation = 0n22 FilePipeInformation = 0n23 FilePipeLocalInformation = 0n24 FilePipeRemoteInformation = 0n25 FileMailslotQueryInformation = 0n26 FileMailslotSetInformation = 0n27 FileCompressionInformation = 0n28 FileObjectIdInformation = 0n29 FileCompletionInformation = 0n30 FileMoveClusterInformation = 0n31 FileQuotaInformation = 0n32 FileReparsePointInformation = 0n33 FileNetworkOpenInformation = 0n34 FileAttributeTagInformation = 0n35 FileTrackingInformation = 0n36 FileIdBothDirectoryInformation = 0n37 FileIdFullDirectoryInformation = 0n38 FileValidDataLengthInformation = 0n39 FileShortNameInformation = 0n40 FileIoCompletionNotificationInformation = 0n41 FileIoStatusBlockRangeInformation = 0n42 FileIoPriorityHintInformation = 0n43 FileSfioReserveInformation = 0n44 FileSfioVolumeInformation = 0n45 FileHardLinkInformation = 0n46 FileProcessIdsUsingFileInformation = 0n47 FileNormalizedNameInformation = 0n48 FileNetworkPhysicalNameInformation = 0n49 FileIdGlobalTxDirectoryInformation = 0n50 FileIsRemoteDeviceInformation = 0n51 FileAttributeCacheInformation = 0n52 FileNumaNodeInformation = 0n53 FileStandardLinkInformation = 0n54 FileRemoteProtocolInformation = 0n55 FileMaximumInformation = 0n56 И того: ВинХр: FileMaximumInformation = 41 Виста: FileMaximumInformation = 50 7: FileMaximumInformation = 56 В итоге непонятно какой ты энум используешь и какая его длинна и то что ты считаешь FileMaximumInformation на Вин7 имеет совсем другое значение. ![]() |
|
Создано: 01 ноября 2010 07:29 · Поправил: Alchemistry · Личное сообщение · #7 |
|
Создано: 01 ноября 2010 12:42 · Личное сообщение · #8 |
![]() |
eXeL@B —› Программирование —› ZwQueryDirectoryFile + FileMaximumInformation |