информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
занято было примерно. 220Mb/ 256Mb (физической) кроме того при работе обращения к винту были. Несильные правда. 08.07.03 13:36  Число просмотров: 1779
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
<operating systems>
[NT] Процессы-призраки из NTFS streams ;-( Баг напрочь или фича для вирусописателей! 07.07.03 09:44  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 07.07.03 09:51  Количество правок: 3
<"чистая" ссылка>
Итак, имеем процесс, запущенный из файлового потока NTFS. К примеру, C:\Temp\SomeFile:SomeStream.exe. Удаляем SomeFile по F8 в FAR'е или Shift+Del в проводнике... Файл удаляется и имеем рабочий процесс-призрак! В списке процессов он виден, но файла образа у него нет ;-)

Тестировал под WinXP, но я думаю, что этому подвержены все версии NT.

Вот пошаговая инструкция, как потестить это дело:
1) скопируйте FARом notepad.exe в папку C:\TEMP.
2) Отключите параметр "Использовать системную функцию копирования"
3) Наведите указатель на regedit.exe и нажмите F5.
4) В диалоговом окне копирования вбейте путь C:\TEMP\notepad.exe:regedit.exe
и нажмите Ввод.
5) В командной строке FARa в каталоге C:\TEMP наберите notepad.exe:regedit.exe и
нажмите Ввод.
6) Должен запустится Regedit. Сверните его. Наведите указатель FARа на notepad.exe (в котором поток regedit)... Нажмите F8, Enter и получите экстаз ;-)) У вас regedit стал "призраком"...
[NT] Ха — ещё один глюк в XP ;-) 16.07.03 20:54  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Кто тестировал глюки (в корневом посте) под XP, зайдите в каталог %SystemRoot%\Prefetch, будете удивлены.

Т.е. скорее всего будет неправильно работать механизм быстрой загрузки таких файлов.
еще один баг обнаруженный командой UINC 07.07.03 13:28  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
если файл записать в поток к корневому каталогу (type notepad.exe >c:\:notepad.exe)
а потом его запустить
start c:\:notepad.exe
то в списке процессов получаем еще один System idle process... неплохая маскировка ;-))
NT40 SP6 - не пашет 07.07.03 14:56  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
> если файл записать в поток к корневому каталогу (type
> notepad.exe >c:\:notepad.exe)
> а потом его запустить
> start c:\:notepad.exe
вот тут появляется Messagebox о том что "e:\:note2.exe is not a valid Windows NT application"
> то в списке процессов получаем еще один System idle
> process... неплохая маскировка ;-))
Нихера себе маскировка - если я увижу у себя второй SystemIdleProcess я пожалуй обращу на это вниммание :-)
NT40 Тебя немножко дезинформировали... 07.07.03 15:03  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> > если файл записать в поток к корневому каталогу (type
> > notepad.exe >c:\:notepad.exe)
Команда type безобразно покорёжит exe. Она же текстовая...
Попробуй FARом...

> вот тут появляется Messagebox о том что "e:\:note2.exe is
> not a valid Windows NT application"
Ну ты понял, почему not valid...

> > то в списке процессов получаем еще один System idle
> > process... неплохая маскировка ;-))
> Нихера себе маскировка - если я увижу у себя второй
> SystemIdleProcess я пожалуй обращу на это вниммание :-)
Гы. Я бы тоже ;-)
все работает 07.07.03 15:13  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
> > > если файл записать в поток к корневому каталогу
> (type
> > > notepad.exe >c:\:notepad.exe)
> Команда type безобразно покорёжит exe. Она же текстовая...
> Попробуй FARом...
все работает без проблем
иначе не предлагал бы
система - w2k SP3

> > Нихера себе маскировка - если я увижу у себя второй
> > SystemIdleProcess я пожалуй обращу на это вниммание
> :-)
> Гы. Я бы тоже ;-)
к тем кто знает все процессы наизусть - это ясное дело не относится
однако таких не очень много
Sorry. Наверное, это косяк Диспетчера Задач Win2k, в XP его переделали и всё рулез. 07.07.03 15:16  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
NT40 Если бы :-( 07.07.03 15:04  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
> > > если файл записать в поток к корневому каталогу
> (type
> > > notepad.exe >c:\:notepad.exe)
> Команда type безобразно покорёжит exe. Она же текстовая...
это я уже заметил :-)
> Попробуй FARом...
так я и пробовал, просто не стал уточнять - сорри
> > вот тут появляется Messagebox о том что "e:\:note2.exe
> is
> > not a valid Windows NT application"
> Ну ты понял, почему not valid...
Вопрос открыт
NT40 Попробую ответить всем... 07.07.03 17:50  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> > Попробуй FARом...
> так я и пробовал, просто не стал уточнять - сорри
> > > вот тут появляется Messagebox о том что
> "e:\:note2.exe
> > is
> > > not a valid Windows NT application"
> > Ну ты понял, почему not valid...
> Вопрос открыт
Закрываю вопрос.

Под NT4 Wks SP6 такие дела:
Start notepad.exe.exe:regedit.exe не работает по причине глюкавости команды Start ;-)
CreateProcess() работает, процессы создаются, "призраки" остаются ;-)
Диспетчер задач показывает вместо реального имени (или хотя бы regedit.exe) notepad.exe ;-) Вот где маскировка — пиши поток в internat.exe или в explorer.exe — не всякий догадается, ху из ху ;-)
В случае же с файлом 'C:\:notepad.exe' не работает ни CreateProcess, ни CreateProcessW с префиксом «\\?\» — ошибка 193.
Причём это не работает не только для потока из корневого каталога, но и для потока «C:\Temp:notepad.exe» тоже, т.е. для любого каталога.

Под Win2k ситуация похожая, исключая только то, что могут создаваться процессы из потоков, которые в каталогах. Причём Диспетчер Задач показывает вместо реального образа имя каталога (у меня для процесса из C:\Temp:notepad.exe показывал «Temp»).
Причём прикол — команда start не позволяет запускать процессы из потоков, которые в файлах, но позволяет из тех, которые в каталогах ;-)
Ну, и наконец, для случая с C:\:notepad.exe появляются два System Idle процесса, причём это так думает только Диспетчер Задач. Far'овский плагин просмотра процессов работает корректно (показывает «:notepad.exe»), правда не показывает его свойства.

Ну вот такие дела, если кого это обрадует ;-)
NT40 И ещё один вопрос :-) 07.07.03 18:29  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
> В случае же с файлом 'C:\:notepad.exe' не работает ни
> CreateProcess, ни CreateProcessW с префиксом «\\?\» —
> ошибка 193.
Это я и сам заметил. Есть какие-нибудь идеи по поводу тогопочемуименно такая ситуация? Я пока дошел только до NtCreateSection - сейчас дальше не могу копать - закачка отвалится :-) Если кто-то расскажет в чем там дело буду рад. Просто интересно.
Хм... Под XP всё нормально. Может уже исправили? 07.07.03 13:52  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Мля. Ламерский вопрос, но все же 07.07.03 14:24  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Как его теперь удалить. Не усечь до 0, а именно удалить стандартными средствами. В гугле советуют перенести файл на фат и обратно. Но не буду же я корень тащить на фат :-)

Цитата: "In addition, streams cannot be deleted - to delete a stream you must delete its parent."
Фигня всё это. Вызови DeleteFile("C:\:notepad.exe") 07.07.03 14:30  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
О! Почти юниксовое поведение :)))) Всем пользовать файлпотоки в повседневной жизни! :) 07.07.03 11:11  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Мне вот другое интересно — как NT его будет пейджить? 07.07.03 12:20  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 07.07.03 12:55  Количество правок: 1
<"чистая" ссылка>
Чудится мне, если exe будет большой, а процесс будет долго работать, и NT будет ещё чем-то напрягаться, то упадёт в синий экран через время, когда надо будет восстановить страницу из образа ;-)
Хм а ты уверен что файл удалился? 07.07.03 14:38  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Вернее что удалился не только файл но и его поток? И кстати попробуй запустить chkdsk после того - не выругается ли?
[NT] По вере вашей да будет вам... 07.07.03 14:56  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Ну, после перезагрузки после проверки диска видим вот что:
--------------------------------------
Checking file system on C:
The type of the file system is NTFS.

A disk check has been scheduled.
Windows will now check the disk.
Cleaning up 1 unused index entries from index $SII of file 0x9.
Cleaning up 1 unused index entries from index $SDH of file 0x9.
Cleaning up 1 unused security descriptors.
--------------------------------------
Кстати, постоянно такая фигня в XP. Откуда берутся — сам большой Билл, наверное, не знает ;-)
В корне диска лишнего ничего не появляется, в каталоге, где велись эксперименты, тоже всё чисто. Выходит, удаляется он ;-)
[NT] По вере вашей да будет вам... 07.07.03 15:40  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
> В корне диска лишнего ничего не появляется, в каталоге, где
> велись эксперименты, тоже всё чисто. Выходит, удаляется он
> ;-)
совсем не выходит. если открытый файл какойлибо файл переписать в другой каталог хэндл не теряется и программа прекрасно работает с этим файлом даже не зная что файл уже в другом месте. Так что если твой файл вообще пропал из списка файлов не значит что он стерт Ж). имхо надо почитать доки по нтфс.
[NT] А может и выходит ;-) 07.07.03 16:07  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> совсем не выходит. если открытый файл какойлибо файл
> переписать в другой каталог хэндл не теряется и программа
> прекрасно работает с этим файлом даже не зная что файл уже
> в другом месте. Так что если твой файл вообще пропал из
> списка файлов не значит что он стерт Ж). имхо надо почитать
> доки по нтфс.
С хендлами не так всё просто. Они суть ссылки на объект ядра, а при вызове MoveFile() система выставляет правильный путь в полях самого объекта. И сделано это для обновления запущенного софта, имхо.
я тут эксперимент провел 07.07.03 16:20  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
взял прогу свою, довольно специфическую - написана на билдере и многие окна создаются только когда надо, а потом удаляются. прогу скорировал в поток как ты сказал запустил и сразу удалил. Удалилась нормально и полностью. У меня сп4 стоит. Далее стал открывать окошки - фиг вам - говорит Invalid strem но вообще пашет.Ок. Закрыл ее, записал опять. Запустил и на этот раз пооткрывал все что можно. Затем все закрыл и свернул (9Mb в RAM-> 1.5Mb). Удалил, развернул - и все равно пашет все нормально.
ЗЫ а баг действительно есть. Нo не фатальный Ж). Пиши в M$ если лицензия на винду есть Ж).
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach