Показать полную графическую версию : Смерть WFP
Здраствуйте. Вопрос такой: как при установке полностью отключить проверку "правильности" файлов? А то в начале графической части установки мне дарят подарок типа: Критическая ошибка. Продолжение установки не возможно... и всё такое, какие-то подписи неправильные.
(код ошибки 800b0100)
Обидно, и очень охото заменить logonui.ex_ ntoskrnl.ex_ (может ещё что-нибудь). Я скачивал патченый sfc_os.dl_ (http://unattended.msfn.org/advanced/files/WFP/XP_SP2/sfc_os.dl_) с
unattended.msfn.org , ломанный winlogon с ним проканал, а всё остальное - нехочет. Как убить такую проверку? :moderator
И ,да, где взять вторую BCDW?
OC: Винdows XP Professional SP 2 RUS
Заранее благодарен.
Возникла такая проблемма: при установке винды на стадии t-12 (и для надежность при первой загрузке) заменяются файлы notepad.exe и mstsc.exe, mstscax.dll на более новые в системных каталогах, при этом произведен хак SFC_OS.DLL на предмет отключения WFP. Тем не менее сразу после загрузки файлы меняются на оригинальные.
Пробовал вручную патчить SFC_OS.DLL, пробовал подсовывать файлы SFC_OS.DLL и SFCFILES.DLL от nlite, пробовал устанавливать с параметрами в winnt.sif :[SystemFileProtection]
SFCQuota=0
SFCScan=0
SFCDisable=ffffff9dПри этом почему-то после установки ключ[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"SFCDisable"=dword:FFFFFF9Dв системе не наблюдается
WFP отключается только при самостоятельном внесении данного ключа в реестр.
Что-то я не понимаю, получается хак SFC_OS.DLL не работает!???, вернее работает не на 100% т.к. никаких сообщений не появл., измененный файл просто молча заменяется на оригинал.
EgOrus
Писаное сие (http://www.d--b.webpark.pl/reverse04_en.htm) поляком по английски, но возможно ты разберешься и адаптируешь к автоустановке.
Vadikan
он выкладывал эту же инфу в топик по WFP на msfn.
Он пишет что sfc_os.dll хак полностью не отключает WFP.
Основной смысл: обычно программы заменяют системные файлы путем пометки нужных файлов на переименование с заменой защищенных файлов после ребута при загрузке системы, при этом в реестре должен подниматься флаг (значние) AllowProtectedRenames, который санкционирует эту замену. Так вот при использовании патченного sfc_os.dll этот ключ появляться не будет в любом случае. Поэтому файлы заменяться не будут.
В качестве решения он предлагеет не патчить sfc_os.dll, а очистить список защищенных файлов в sfcfiles.dll.
К сожалению это никак не объясняет мою ситуацию, когда форсировано скопированные файлы заменяются на оригинальные. Причем не важно на какой стадии установки. раньше я с этим не парился, а просто подменял необходимые файлы в дистре (notepad.ex_, notepad.ch_), сейчас же пытаюсь дистр трогать как можно меньше и сразу встала проблемма с WFP.
В nlite sdc_os.dll хак теперь тоже не используется, патчится sfcfiles.dll, но в нем обнуляеются только некоторые файлы, кроме того добавляется ключ в HIVESFT.INF:
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","SfcDisable",0x00010000,0xFFFFFF9D
Также непонятно что делает и как отрабатывается секция [SystemFileProtection] в winnt.sif, нужно ли ее использовать при хакнутых фалах, или нужно откл. и добавлять ключик SFCDisable через реестр, в некот. же случаях SFCDisable не используют а используют SFCSettings=0, в общем инфы много и четкости в мозгах нет, хотелось бы прояснить ситуацию, если нчиего не получится, в крайнем случае придется наверное вручную вырезать из sfcfiles.dll нужные мне файлы.
EgOrus
Я в тему WFP плотно не вникал, если у тебя что-то получится, изложи и я добавлю в статью.
Vadikan
Сперва немного теории о том какие файлы задействованы в WFP.
Исполнимая часть WFP называется System File Checker (SFC), в ней задействованы файлы SFC.DLL, SFC_OS.DLL, SFCFILES.DLL и SFC.EXE.
SFC.EXE - утилита для сканирования изменений защищенных файлов и восстанавл. оригинальных файлов.
Содержание файлов SFC.DLL и SFC_OS.DLL изменяется в завсисимости от версии. В Windows XP, SFC_OS.DLL содержит ядро и исполнимый код SFC, а SFC.DLL это просто прокси для него.
SFCFILES.DLL это контейнер с даннынми, в кот. содержится список защищенных файлов.
Т.о. модифицируя SFCFILES.DLL и/или SFC_OS.DLL можно обойти WFP.
На сегодняшний день используется 2 основных метода обхода WFP
1. Метод используемый nuhi в nLite (не уверен что это его изобретение).
2. Метод RaveRod.
Есть и еще методы например тот, на кот. давал ссылку Vadikan, основан на очистке списка защищенных файлов в sfcfiles.dll, выложенный там файл не рабочий, на t-13 выдает ошибку.
Недавно нашел ещё хакнутую sfc_os.dll от RyanVM, кот отключает WFP без вмешательства в реестр и ключей winnt.sif, но как она работает пока понять не удалось, может он сам ответит.
-------------------------------------------
В статье описан несколько устаревший вариант используемый в предыдущих версиях nLite. На сколько я смог разобраться сейчас nLite патчит только sfcfiles.dll, очищая в нем файлы: sfcfiles.dll, sysetup.dll, tcpip.sys (эти файлы модифицируются nLite)
Кроме того в hivesft.inf добавляется стока
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","SfcDisable",0x00010000,0xFFFFFF9D
которая собственно и откл. WFP
Недостатками этого метода:
- невозможно удалить ненужные папки в %ProgramFiles% (microsoft frontpage, msn gaming zone, xerox и др.)
- некоторые программы при установке сбрасывают ключ SFCDisable в 0, что атоматически вкл. WFP.
-------------------------------------------
Метод от RaveRod, основан на хаке sfc_os.dll, при этом в нем меняются:
По смещению (00000F82):
44 00 69 00 73 00 61 00 62 00 6C 00 65
поменять на:
53 00 65 00 74 00 74 00 69 00 6E 00 67
По смещению (0000ECE9):
33 C0
поменять на:
EB 01
Первый патчик меняет ключ SFCDisable на SFCSetting, второй убирает предупреждающее окно о замене файлов. Переименован, потомучто ключ SFCDisable после установления некоторых программ переключается в 0 (это недостаток 1го метода от nLite).
Чтобы все это дело работало надо в HIVESFT.INF прописать
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","SFCSetting",0x00010001,0xFFFFFF9D
Недостаток этого метода: не позволяет заменять системные файлы вручную вплоть до 1го логона в систему (т.е. просто переписать в процессе установки файлы получится, но они через какое-то время меняются на оригинальные). Если вам это нужно, то вручную отредактируйте sfcfiles.dll, с помощью hex-редактора занулить нужные названия файлов.
Осталось выяснить нужен ли в winnt.sif параметр SFCDisable или нет. Как показала практика (установки с различными методами) - не нужен.
Solid Snake
07-07-2006, 06:43
У меня обратный вопрос. Как полностью включить WFP на установленной системе?
EgOrusв крайнем случае придется наверное вручную вырезать из sfcfiles.dll нужные мне файлыВ апдейтпак входит sfcpatch, делает то же самое.
simplix
если ты внимательно посмотришь на дату поста, и дату появления аддона sfcpatch от BoaSoft, кототрый первоначально появился как отдельный аддон, то поймешь что было написано это задолго до его появления
EgOrusчто было написано это задолго до его появленияУгу, и старой статьи про WFP уже нет, точнее теперь просто предлагается это сделать при помощи новой версии nLite.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.