"DOS режим" при загрузке w2k

Ответить
Аватара пользователя
Prisoner

"DOS режим" при загрузке w2k

Сообщение Prisoner »

Порой различные процессы не могут быть выполнены при нормальной работе операционки и они откладываются до следующей перезагрузки ОС. Так поступает скажем O&O Defrag при дефрагментации обычно заблокированных файлов. Поковырявшись, не нашел места куда прописывается вызов программ которые будут вызываться подобным образом.  Прошу поделиться кто ведает. Спасибо.
Аватара пользователя
Blast

Re: "DOS режим" при загрузке w2k

Сообщение Blast »

Prisoner

а такие ветки как

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

и тоже самое\RunOnceEx  это нето?...
Аватара пользователя
Prisoner

Re: "DOS режим" при загрузке w2k

Сообщение Prisoner »

Нет, Blast, это не есть то. Я видел подобный вызов из HKLM\System\CurrentControlSet\что_то_еще, но вызов все равно осуществляется... странно :\
Аватара пользователя
Blast

Re: "DOS режим" при загрузке w2k

Сообщение Blast »

тогда не скажу... единственное и скорее ошибочное предположение это autoexec.nt (скорее всего ошибаюсь, но строго не судите - я ж по 9х мыслю :-) )
Аватара пользователя
hasherfrog

Re: "DOS режим" при загрузке w2k

Сообщение hasherfrog »

Речь пойдет об ХР, хотя суть дела не изменится. Приготовьтесь, сказка будет длинная.

Вообще-то цель моих поисков была другая, связанная с данным топиком только словом "загрузка". У меня тут небольшой квест Изображение - собираю все данные, касающиеся автозапуска CD. Так сложилось, что в результате исследований реестра я нашел некоторые факты, которые могут быть интересны и Вам.

В своих изысканиях Изображение я часто пользуюсь утилитами Марка Руссиновича и Брюса Когсвелла с
www.sysinternals.com
Смотрел как-то обновления по форуму, наткнулся на данный топик. Сразу вспомнил про утилиту Autoruns (скачайте обязательно), но запостить сообщение поленился, решил, что Вы и без меня разберетесь. Вчера вдруг засомневался, а возможно ли с помощью Autoruns поймать некоторые хитрые программки типа упомянутого Вами "O&O Defrag". Решил опробовать на утилите Regmon, взятой все с того же сайта. Если Вы не в курсе (в чем я сомневаюсь Изображение ),  там есть режим записи всех обращений к реестру в процессе загрузки Виндов. То есть, Regmon должен грузиться где-то в начале, при старте Виндов.

Поехали... Сначала запускаем Autoruns и минут пять оfigиваем:  количество всяких-разных автозапусков превышает все наши представления о автозагрузке.



Код:

Код: Выделить всё

 
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit 
+ C:\WINDOWS\system32\userinit.exe 
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell 
+ Explorer.exe 
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\ 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ 
+ RUNDLL32.EXE C:\WINDOWS\System32\NvCpl.dll,NvStartup 
+ nwiz.exe /install 
+ "C:\Program Files\Winamp\Winampa.exe" 
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ 
+ C:\WINDOWS\System32\ctfmon.exe 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices\ 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce\ 
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices\ 
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\ 
C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка 
C:\Documents and Settings\hasherfrog\Главное меню\Программы\Автозагрузка 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\ 
+ PostBootReminder -> C:\WINDOWS\system32\shell32.dll 
+ CDBurn -> C:\WINDOWS\system32\shell32.dll 
+ WebCheck -> C:\WINDOWS\system32\webcheck.dll 
+ SysTray -> C:\WINDOWS\system32\stobject.dll 
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run 
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load 
HKCU\Software\Policies\Microsoft\Windows\System\Scripts 
HKLM\Software\Policies\Microsoft\Windows\System\Scripts 
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\ 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\ 
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\ 
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\ 
C:\WINDOWS\win.ini 
Task Scheduler

Примечание: плюсиками обозначены мои подключи, у Вас они могут быть другими или отсутствовать.[/i]

Ладно, теперь запускаем Regmon, говорим, что мы хотим "Log boot". Забегая вперед, скажу, что Regmon кое-какие записи в реестр не отслеживает, поэтому мы не видим, как и куда он прописывает свой автозапуск. С нехорошими предчувствиями запускаем Autoruns. Дааа, "предчувствия его не обманули". Никакого упоминания о Regmon нет. С некоторыми надеждами просматриваем список служб в "Управлении компьютером->Службы". Пусто.  Но мы не сдаемся, смотрим реестр через regedit, где натыкаемся на некоторые упоминания о Regmon. Затем часик реального времени "морщим репу", один раз перегружаем машину и приходим вот к каким выводам:

Все нижеследующее является чистой воды ИМХО. К сожалению, исходников Regmon у меня нет.

Когда Regmon запускается, он создает в реестре упоминание о некоем устройстве REGMON. Это устройство является скрытым "не-плаг-энд-плэй" устройством, в чем мы можем убедиться, запустив "Свойства компьютера-> Диспетчер устройств-> Вид-> Показать скрытые устройства-> Действие-> Обновить конфигурацию оборудования". В окошечке проявиться квадратик с надписью Regmon. Упоминание об устройстве Regmon лежит в реестре в субключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_REGMON. Но это, естественно, еще не все. Чтобы протоколирование реестра заработало при старте Виндов, созданное "хитрое устройство" должно обслуживаться драйвером. Смотрим, кто откуда берутся драйверы. Оказывается, при включенном  протоколировании, на выходе из программы, Regmon снес яичко REGSYS.SYS в директории System32/Drivers, а в реестре описал службу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Regmon. Если же при закрытии окна протоколирование загрузки отключено, файл драйвера и его описание в реестре исчезают. Просто приятно посмотреть, как работают  программы профессионалов.

Эх, исходники бы еще глянуть... Хотя, ИМХО, это будет вполне возможно через пару лет. Если Руссинович не скурвится, как Петька Нортон Изображение

К чему это я все нагородил? К тому, что обнаружить автозапуск программы, маскирующейся под драйвер можно вышеописанным действием "Свойства компьютера-> Диспетчер устройств-> Вид-> Показать скрытые устройства-> Действие-> Обновить конфигурацию оборудования". Надо только запомнить, что там было "до" и что там стало "после". Ну а в случае неудачи можно потралить реестр в районе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services Конечно, все это следует делать только в случае, если Autoruns ничего не нашел.



Но вообще-то это еще не все. Некоторые программы, типа монструозного PQ Partition Magic действуют, ИМХО, и вовсе круто. Они прописываются в mbr для того, чтобы после перезагрузки сделать свою работу, не оглядываясь на Винды.

К сожалению, я не могу проверить свои мысли, поэтому надеюсь, что Вы делали или собираетесь делать то, о чем я сейчас расскажу, в ближайшем будующем.

Определить, подменяется ли mbr, можно следующим нехитрым образом: Нужна машина, на которой стоит Windows и Linux. Загрузка должна идти через Grub/Lilo. Следует попросить PM выполнить какие-нибудь действия (например, поменять размр) над системным диском. Я подчеркиваю, именно системным. Тогда после маленькой работы под Виндами, PM потребует перезагрузиться, чтобы доделать основную работу в "режиме Дос". Вот тут-то и надо посмотреть, пропадет ли после перезагрузки Grub/Lilo. Если пропадет, - PM точно пишет в mbr.



Ладно, заболтался. Удачи! Изображение
Аватара пользователя
SkyF

Re: "DOS режим" при загрузке w2k

Сообщение SkyF »

hasherfrog

Уважение!

Спасибо за подробный отчет. Обязательно всем пригодится!
Аватара пользователя
SkyF

Re: "DOS режим" при загрузке w2k

Сообщение SkyF »

Присоединаюсь! Будет время, обязательно все проверю. Спасибо!Изображение
Ответить

Вернуться в «Microsoft Windows NT/2000/2003»