Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Служебные - Патч SfcFiles.dll

Ответить
Настройки темы
Служебные - Патч SfcFiles.dll

Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Boa Soft
Дата: 29-04-2009
Описание: важное обновление.
SfcFiles patch v3.1

Совместимо с SP3 и Server 2003


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

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

Кроме того, при некотрых обстоятельствах SFC вообще не работает.

Версия по алгоритму с MSFN иногда вызывает BSOD.

Поэтому был пересмотрен алгоритм патча
читать дальше »
ыы
Проограмма дествует очень просто

Какие файлы защищены - это система узнает из SfcFiles.dll.
Там находятся списки защишаемых фалов, целых 5 штук для разных систем:
Xp pro
Xp home
Xp tablet PC
Xp mediacenter
Xp starter

В серверной библиотечке тоже 5 списков, но их назначения (соответствия версиям продуктов) я не выяснял.

Система защиты получает список защищенных файлов с полными путями из этой библиотеки,
вызывая Api - функцию SfcGetFiles. Нам же нужно, чтобы в этот список не попали нужные нам файлы.

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

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

NB! Если патчить библиотеку, ранее уже патченную более старыми версиями патчера или другими утилитами, то
возможны разные непредсказуемые проблемы.

Прверялось с SfcFiles.dll от windows sp3/ sp2 rus/ sp2 en/ sp1 server rus.
(Во всей линейке OS одного семейства и сервиспака библиотека одинакова!)

С другими версиями программа так же должна работать.

Проверить правильность работы можно на рабочей OS, временно заменив оригинальную библиотеку
на патченую, проигнорировав крик о вставке диска и перезагрузившись.

SFC /scannow должно работать!!! Если нет - то увы.
.


Новое в текущей версии.

1. Исправлена проблема с патчем для server - теперь патчатся все 7 таблиц.
2. Программа понимает относительные пути.

Скачать программу можно по ссылке:

sfcpatc.7z

Для пакета обновлений для Sp2:
Потом распакуйте архив и скопируйте файл в папку пакета обновлений, заменив старую версию. Работа проверена на рабочей системе XP Pro sp2 rus

Для пакета обновлений для Sp3:
Данный релиз включен в основную версию пакета. Всестороннее тестирование показало отсутствие проблем в данной версии.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 16:04, 28-06-2007

 

Старожил


Сообщения: 213
Благодарности: 12

Профиль | Отправить PM | Цитировать


Petya V4sechkin, а для чего вообще нужен этот файл?
Он шел в Windows и вы его меняете на тот, который шел в каком-то критическом обновлении?

Отправлено: 21:23, 31-08-2007 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 3487
Благодарности: 507

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, Boa Soft,
Речь об этом?

Последний раз редактировалось Severny, 16-12-2020 в 19:49.


Отправлено: 22:15, 31-08-2007 | #12


Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956

Профиль | Сайт | Отправить PM | Цитировать


Severny

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

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 03:24, 01-09-2007 | #13


Старожил


Сообщения: 251
Благодарности: 22

Профиль | Отправить PM | Цитировать


Boa Soft, а можно если не затруднит, разжевать что находиться в SfcFiles.dll ?
Типа список файлов I386 с их чексуммами для всех типов лицензий (OEM,Retail,VLK) для Professional и Home ?

Отправлено: 14:44, 02-09-2007 | #14


Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956

Профиль | Сайт | Отправить PM | Цитировать


Dilinjer,

Там находится 5 строковых таблиц - имена файлов в unicode. Только имена. В пределах sp у всей линейки она идентична. Таблицы для Pro, Tablet, MCE, Home, Starter. Так же, там 5 массивов указателей на эти файлы. Каждая запись занимает 3 двойных слова. Вот этот массив я и патчил в этой версии.

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



Так можно получить список файлов, но только для текущей системы:

Код: Выделить весь код
type
  TSfcList = record
    wcsFileNameInDllCache: PWideChar; // Name of the file in DllCache
    wcsFilePath: PWideChar; // Path of the protected file
    wcsWhatEverInfFile: PWideChar; // Name of some INF file ... unknown meaning
  end;
  TSfcListArray = array[0..0] of TSfcList;
  PSfcListArray = ^TSfcListArray;

function SfcGetFiles(
  var lpNamelist: PSfcListArray;
  var lpNumEntries: DWORD
  ): DWORD; stdcall;  external 'sfcfiles.dll'; 
(* Call and then iterate through the array with wide strings NumEntries times. *)

<>

    if SfcGetFiles(namelist,num); = ERROR_SUCCESS then
    for i:=0 to num-1 do begin
      Writeln(String(namelist^[i].wcsFilePath));
      //Writeln(String(namelist^[i].wcsFileNameInDllCache));
      //Writeln(String(namelist^[i].wcsWhatEverInfFile));
      //Writeln('');


    end;

-------
Человеческая лень - главная движущая сила технического прогресса.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:31, 02-09-2007 | #15


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


я сегодня на виртуальной машине проверил sfcfiles.dll вроде все в порядке. Однако есть небольшие вопросы здесь . Может Boa или еще кто подскажет?

-------

Ю-ху!


Отправлено: 00:43, 03-09-2007 | #16


Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956

Профиль | Сайт | Отправить PM | Цитировать


Новая версия 3.1

Цитата:
Новое в текущей версии.
1. Благодаря помощи Oleg_Sch патч не зависит от версии библиотеки.
2. Добавлены проверки на корректность формата исходного файла и точности получения списков.
3. Добавлены коды возврата.
4. Убран лог (перенаправление вывода через > заменит его при нужде).
5. Добавлены коды возврата.
6. Добаавлена обработка ошибок.
7. Исправлена документация.
8. Добавлена возможность получения всего списка защищенных файлов.
Ссылка в шапке.

-------
Человеческая лень - главная движущая сила технического прогресса.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:37, 05-09-2007 | #17


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


проверил вроде все норм.sfc /scannow успешно
мусор о которм я писал в журнале остался

конфигурация системы и список аддонов с которыми ставился сабж там же (по ссылке)

-------

Ю-ху!


Последний раз редактировалось volk1234, 06-09-2007 в 09:57.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:13, 05-09-2007 | #18


Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956

Профиль | Сайт | Отправить PM | Цитировать


volk1234,
Цитата volk1234:
мусор о которм я писал в журнале остался »
Это хорошо. Мусор же, похоже, имеет другие корни.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 23:31, 05-09-2007 | #19


Старожил


Автор проектов


Сообщения: 304
Благодарности: 135

Профиль | Отправить PM | Цитировать


Boa Soft,
ну так что, версия 3.1 прошла тест?

Отправлено: 19:11, 01-12-2007 | #20



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Служебные - Патч SfcFiles.dll

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - [решено] точка входа в процедуру getperfomanceInfo не найдена в библиотеке DLL PSAPI.DLL aksex Microsoft Windows 2000/XP 11 31-03-2015 19:43
помогите с sfcfiles Putin-mode Автоматическая установка Windows 2000/XP/2003 0 18-09-2008 13:25
Разное - [решено] dwmapi.dll; mpr.dll; shlwapi.dll Reset5 Microsoft Windows 2000/XP 2 14-06-2008 16:31
[решено] setuperr.log - Ошибка: sfcfiles.dll не имеет верной подписи Microsoft z-wer Автоматическая установка Windows 2000/XP/2003 7 04-02-2008 11:17
[решено] Тест sfcfiles.dll volk1234 Наборы обновлений для Windows XP/2003/Windows 7 19 18-09-2007 20:38




 
Переход