- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
public NtStatus CreateFile(string fileName, FileAccess access, FileShare share, FileMode mode, FileOptions options,
FileAttributes attributes, DokanFileInfo info)
{
lock (_lock)
{
switch (mode)
{
case FileMode.Append:
case FileMode.Open:
{
try
{
var file = _fileSystem.GetFileSystemInfo(fileName);
return !file.Exists ? NtStatus.NoSuchFile : NtStatus.Success;
}
catch (IOException) // на@#% windows
{
return NtStatus.NoSuchFile;
}
}
...
}
А ты флажки точно правильно заполнил, когда инфу о X:\lesbianporn.mp4 возвращал винде? Вдруг там закрался флаг, что это папка?
catch (IOException) // на@#% windows
?
И он бы в таком случае не дал бы файл открыть
Что, в свою очередь дало толчек и ершик руткитам и т.п. нехорошим программам, и поэтому Виндовс оставил эту фичу неуправляемой до самой последней-распоследней версии.
https://technet.microsoft.com/en-us/sysinternals/bb897440.aspx
Только там синтаксис с этими потоками ебнутый, что-то типа file.xyz:altStream:$DATA
Проблема в том, что команда dir не перечисляет потоки (так же, как и все файловые менеджеры), а программка streams из Sysinternals перечисляет.
В описании функции _findfirst я не нашёл, что нужно делать, чтобы она перечислила альтернативные потоки.
Врешь, dir /R (Win10 точно, старшие версии хз)
Простите, погорячился.
Тем не менее, файловые менеджеры скрывают присутствие альтернативных потоков.
Но тезис о невидимости альтернативных потоков никем, кроме оригинального автора, оказался сомнительным.
Точно никто не удалит и не заметит
Школьники будут рады
Винампом
http://hex.pp.ua/ntfs-alternate-data-streams.php
Даже три:
• BackupRead;
• FindFirstStreamW и FindNextStreamW (Windows XP и более древние пролетают);
• NtQueryInformationFile.