Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Оказывается, винда умудряется искать даже файлы внутри другого файла и пытается найти файл по пути X:\lesbianporn.mp4\desktop.ini
Может кто знает нахуя это сделано?
> умудряется искать даже файлы внутри другого файла
А ты флажки точно правильно заполнил, когда инфу о X:\lesbianporn.mp4 возвращал винде? Вдруг там закрался флаг, что это папка?
Может это потоки? Когда-то, когда Маки и Виндосы были несовместимы, Виндовс вышел с замечательным обновлением: вилка ресурсов, но в юзерспейсе, а не так как в этих Маках... Ну, суть была в том, чтобы показывать макинтошевские файлы так, как будто они виндовские, без дополнительного файла ресурсов. Но жопа оказалась в том, что если один файл прицепить к другому таким способом, то он становится необнаружимым ни иксплорером, ни цмд.ехе, и вообще практически никем, кроме оригинального автора.
Что, в свою очередь дало толчек и ершик руткитам и т.п. нехорошим программам, и поэтому Виндовс оставил эту фичу неуправляемой до самой последней-распоследней версии.
Не в этом проблема. Чтобы записать в «скрытый» поток, я могу в любой программе тупо указать имя файла file.xyz:streamName. Всё нормально читается и пишется, всё всем платится.
Проблема в том, что команда dir не перечисляет потоки (так же, как и все файловые менеджеры), а программка streams из Sysinternals перечисляет.
В описании функции _findfirst я не нашёл, что нужно делать, чтобы она перечислила альтернативные потоки.
А ты флажки точно правильно заполнил, когда инфу о 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.