PDA

Показать полную графическую версию : Чудеса! Переименование занятого процессом файла


dimas777
13-01-2012, 13:29
В комплекте к одной теме оформления винды шел bat файлик по замене эксплорера на другой, так как на стандартном эксплорере эта тема не работала. У него вот такой код:

ren %windir%\explorer.exe explorer.exe.bak
move /y "Resources\x64\explorer.exe" %windir%
taskkill /F /IM explorer.exe
start %windir%\explorer.exe
КАК в первой строке он может переименовать эксплорер, если этот процесс ещё запущен и убивается только в третьей строке??? И самое интересное что это работает! Пробовал на других прогах - неполучается - приходилось третью строку переставлять в самый верх. А на эксплорере работает... КАК???

PS: Вообще удивительно как легко заменили ЗАЩИЩЕННЫЙ системный файл без лишних заморочек :)

Amigos
13-01-2012, 15:07
Пробовал на других прогах - неполучается »получается, испробовано неоднократно.удивительно как легко заменили ЗАЩИЩЕННЫЙ системный файл без лишних заморочек »это одна из фишек системы защиты — никак не мешать и никак визуально не реагировать на замену, а тихонько, ничего не сообщая пользователю, восстановить оригинальный файл.

dimas777
13-01-2012, 15:44
это одна из фишек системы защиты — никак не мешать и никак визуально не реагировать на замену, а тихонько, ничего не сообщая пользователю, восстановить оригинальный файл.
А смысл тогда пихать поддельный эксплорер если система всё равно восстановит стандартный?

Разобрался в принципе работы ЭТОГО - да, действительно, все сводится только к перезагрузке процесса, только вот зачем тогда первые 2 строки? :idontnow:

Drongo
13-01-2012, 16:45
dimas777, не только с explorer так проделывают. В лечении компьютеров от заразы, например встречаются ситуации, когда beep.sys пропатчен зловредом, естественно, прямого удаления не получится. Поэтому сначала переименовывается файл, потом удаляется переименованый файл и на его место восстанавливается чистый.

dimas777
13-01-2012, 17:01
Поэтому сначала переименовывается файл, потом удаляется переименованый файл »
А если просто написать команду del ? Разве не удалится? Странно получается - переименовать можно а удалить нет...

dimas777
13-01-2012, 17:22
И что самое интересное - так это то, что после выполнения первой команды в папке Виндовс не появляется файл с названием explorer.exe.bak, значит и переименования не происходит...

Drongo
13-01-2012, 17:26
dimas777, Открыл папку Windows, нашёл файл explorer.exe, выделил его - нажал клавишу Delete, получил такое окно

http://s005.radikal.ru/i212/1201/6b/9e688e86fd50.jpg

dimas777
13-01-2012, 17:31
Вот я про то же и говорю - системные файлы что мышкой, что из командной строки не удалить и не переименовать... И у первых двух строк просто нет смысла получается...

Drongo
13-01-2012, 18:39
системные файлы что мышкой »Легко! Я не знаю что вы и как делаете, проверил, без вопросов переименовалось.

dimas777
13-01-2012, 18:42
У меня мышкой это выглядит вот так:

Amigos
14-01-2012, 12:12
А смысл тогда пихать поддельный эксплорер если система всё равно восстановит стандартный? » если перед этим остановить систему защиты, то не восстановит.
Вот я про то же и говорю - системные файлы » у вас есть определение, что вы считаете "системными файлами" ?

есть файлы включенные в "список защиты" — их система пытается восстанавливать при изменениях.
есть файлы, которые загружены в оперативку и заблокированы от изменений потому что являются частью виртуальной памяти, пока их не закрыли.

explorer.exe при нормальной работе входит и в "список защиты" и заблокирован из-за того он запущен.

способ "переименовать старый файл, а на его место положить новый файл под старым именем" помогает при блокировке запущенных процессов. для обхода системы защиты он бесполезен и не используется.

упоминаемый вами способ "завершить процесс и заменить файл" проще, и конкретно с Explorer.exe работает, но он не универсален -часть процессов нельзя завершать, и поэтому, для универсальности, пользуются способом "переименовать старый файл, а на его место положить новый файл под старым именем"

вот зачем тогда первые 2 строки? » ну откуда нам знать то?
спрашивайте автора батника.




© OSzone.net 2001-2012