Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Чудеса! Переименование занятого процессом файла (http://forum.oszone.net/showthread.php?t=225122)

dimas777 13-01-2012 13:29 1834734

Чудеса! Переименование занятого процессом файла
 
В комплекте к одной теме оформления винды шел bat файлик по замене эксплорера на другой, так как на стандартном эксплорере эта тема не работала. У него вот такой код:

PHP код:

ren %windir%explorer.exe explorer.exe.bak 
move 
/"Resources\x64\explorer.exe" %windir
taskkill //IM explorer.exe 
start 
%windir%explorer.exe 

КАК в первой строке он может переименовать эксплорер, если этот процесс ещё запущен и убивается только в третьей строке??? И самое интересное что это работает! Пробовал на других прогах - неполучается - приходилось третью строку переставлять в самый верх. А на эксплорере работает... КАК???

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

Amigos 13-01-2012 15:07 1834850

Цитата:

Цитата dimas777
Пробовал на других прогах - неполучается »

получается, испробовано неоднократно.
Цитата:

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

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

dimas777 13-01-2012 15:44 1834890

Цитата:

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

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

Drongo 13-01-2012 16:45 1834963

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

dimas777 13-01-2012 17:01 1834976

Цитата:

Цитата Drongo
Поэтому сначала переименовывается файл, потом удаляется переименованый файл »

А если просто написать команду del ? Разве не удалится? Странно получается - переименовать можно а удалить нет...

dimas777 13-01-2012 17:22 1835001

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

Drongo 13-01-2012 17:26 1835004

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


dimas777 13-01-2012 17:31 1835009

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

Drongo 13-01-2012 18:39 1835077

Цитата:

Цитата dimas777
системные файлы что мышкой »

Легко! Я не знаю что вы и как делаете, проверил, без вопросов переименовалось.

dimas777 13-01-2012 18:42 1835082

Вложений: 1
У меня мышкой это выглядит вот так:

Amigos 14-01-2012 12:12 1835544

Цитата:

Цитата dimas777
А смысл тогда пихать поддельный эксплорер если система всё равно восстановит стандартный? »

если перед этим остановить систему защиты, то не восстановит.
Цитата:

Цитата dimas777
Вот я про то же и говорю - системные файлы »

у вас есть определение, что вы считаете "системными файлами" ?

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

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

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

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

Цитата:

Цитата dimas777
вот зачем тогда первые 2 строки? »

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


Время: 20:37.

Время: 20:37.
© OSzone.net 2001-