Компьютерный форум 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=109576)

Котяра 19-06-2008 23:26 830623

Как заменить системный файл?
 
Я уже задавал этот вопрос, но я не могу заменить системный файл. Как заменить файлы shell32.dll, msgina.dll и прочие системные файлы? Метод PendingFileRenameOperations и KillBox не помогли.

paulgor 20-06-2008 08:13 830774

По крайней мере для kbdru.DLL (а он тоже системный) это вот так делается:

надо загрузиться в Safe Mode и в командной строке заменить DLL в двух папках -
в System32 и в System32\dllcache

Если во 2-й папке (это как бы системный бэк-ап) не заменить, то при загрузке система сравнит файлы, увидит, что не совпадает и скопирует DLL из папки dllcache 'убив' таким образом замененный Вами файл...

ackerman2007 20-06-2008 08:36 830785

ну я предлагаю такой такой метод (собственно он в вистапаках различных используется):
удаляем файл из папки system32\dllcache (выше писалось)
в папке system32 переименовываем нужный файл в .bak. копируем туда модифицированный файл. Windows может ругнуться что файл изменили и т.п., посылаем ее в глубокое отчаяние кнопкой отмена.
до перезагрузки система будет использовать файл .bak, после перезагрузки подхватит .dll и .bak можно будет удалить.

Drongo 20-06-2008 13:24 831004

А если попробовать загрузиться из-под DOS'a и через оболочку Volkov Commander удалить или переименовать исходные, а на их место скопировать требуемые?! Я правда так делал с explorer.exe, но ничего хорошего не получилось, система не загрузилась. По поводу перечисленных
Цитата:

Цитата Котяра
файлы shell32.dll, msgina.dll »

Не знаю, но попробовать можно.

Котяра 20-06-2008 15:05 831063

Цитата:

Цитата Drongo
А если попробовать загрузиться из-под DOS'a и через оболочку Volkov Commander »

Файловая система NTFS, так что не подойдет, тем более
Цитата:

Цитата Drongo
Я правда так делал с explorer.exe, но ничего хорошего не получилось, система не загрузилась. »


Котяра 20-06-2008 15:31 831088

Вроде удалось из консоли:
1. Удалить файл из DLLCACHE
2. Переименовать файл
3. Скопировать новый файл в DLLCACHE
4. Скопировать новый файл в system32
После шагов 2 и 4, возможно, потребуется нажать Отмена и Да.

Заменял, кстати, shell32.dll и msgina.dll на файлы из ShutdownMod (делал на виртуальном ПК)

1ce 20-06-2008 17:26 831237

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

ackerman2007 20-06-2008 18:07 831272

ну я же написал как:
удаляем файл из папки system32\dllcache (выше писалось)
в папке system32 переименовываем нужный файл в .bak. копируем туда модифицированный файл. Windows может ругнуться что файл изменили и т.п., посылаем ее в глубокое отчаяние кнопкой отмена.
до перезагрузки система будет использовать файл .bak, после перезагрузки подхватит .dll и .bak можно будет удалить.
подменяет любой файл.

Котяра 20-06-2008 18:09 831277

Цитата:

Цитата 1ce
Наверняка существует какая-то служба ответственная за сохранность системных файлов...
И наверно можно её на паузу поставить исключительно на время замены, чтоб не было обращений к ресурсам файла... »

Цитата:

Цитата Котяра
Вроде удалось из консоли:
1. Удалить файл из DLLCACHE
2. Переименовать файл
3. Скопировать новый файл в DLLCACHE
4. Скопировать новый файл в system32
После шагов 2 и 4, возможно, потребуется нажать Отмена и Да. »

Службу-то отключать не нужно, просто удаляем файл из dllcache, и служба будет просить диск, нажать "Отмена", а потом скопировать файл в dllcache, чтобы "успокоить" службу.

Название службы: SFC

gora 24-06-2008 13:17 833566

Цитата:

Цитата Котяра
Как заменить файлы shell32.dll, msgina.dll и прочие системные файлы? »

А чем собственно не подходит способ используемый в скрипте из ResPatch-a? Работает на "живой" системе, "без шума и пыли", заменяет системные файлы на измененные, прописывает в них контрольную сумму, выводит их из списка зашиты и после перезагрузки в системе новые файлы!


Время: 22:14.

Время: 22:14.
© OSzone.net 2001-