PDA

Показать полную графическую версию : [addon] Патч понижения ранга неподписаного драйвера


Страниц : 1 [2] 3

SamLab
21-01-2009, 23:30
hobbit25, То есть получается ваш аддон полностью повторяет функционал команды --psa-all - Setupapi.dll в Fake-Setup Advanced?

katok888
21-01-2009, 23:39
hobbit25, я просто спросил почему он должен быть последним в списке? А использую и так своего изготовления. А CabTools лучше сжимает. Никого обидеть не хотел.

hobbit25
21-01-2009, 23:53
katok888, да я без всяких обид просто разница не значительна вот решил пойти легким путем! А последним ну тип простая логика мало чего может повлиять на него в процессе интеграции ))) если это не верно то с радостью уберу эту рекомендацию.

SamLab, Совершенно правы!

mercuryn
22-01-2009, 09:45
Mr dUSHA, Ранжирование драйверов проводится, но как подготовительный этап к Т10-Т2, где и происходит анализ драйверов и отбраковка неподписанных. При использовании ГУИ и аддона SFC этап Т10-Т2 пропускается, следовательно и нет отбраковки неподписанных драйверов.
Использование дополнительных средств в виде изменения рангов драйверов является, таким образом, лишним для способа генерации ОС средствами ГУИ с аддоном SFC. Если используется z_drv_inst с аддоном от Mr dUSHA, вероятно это и нужно, я этим вариантом создания дистрибутива не пользовался...

Mr dUSHA
22-01-2009, 12:34
Ранжирование драйверов проводится, но как подготовительный этап к Т10-Т2, где и происходит анализ драйверов и отбраковка неподписанных. При использовании ГУИ и аддона SFC этап Т10-Т2 пропускается, следовательно и нет отбраковки неподписанных драйверов.
Использование дополнительных средств в виде изменения рангов драйверов является, таким образом, лишним для способа генерации ОС средствами ГУИ с аддоном SFC. Е »
:)
Повеселили вы меня однако.... :)
Хватит писать бред, я вас прошу! :)
Если вам что-то приснилось, то это совсем не означает, что так должно быть наяву :)



[2009/01/15 22:10:53 340.1095 Driver Install]
#-019 Поиск идентификаторов аппаратуры: pci\ven_8086&dev_3a48&subsys_00000000&rev_00,...........
#-018 Поиск совместимых идентификаторов: pci\ven_8086&cc_060400,....................
#-199 Выполнение "C:\WINDOWS\system32\setup.exe" с командной строкой: setup -newsetup

#I022 Найдено "PCI\VEN_8086&DEV_3A48" в C:\WINDOWS\inf\oem1.inf; Устройство: "Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Драйвер: "Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Поставщик: "Intel"; Изготовитель: "Intel"; Секция: "PCI_DRV
#I023 Действительная секция установки: [PCI_DRV]. Ранг: 0x00000003. Дата драйвера: 05/27/2008.
#I393 Изменяется INF-кэш "C:\WINDOWS\inf\INFCACHE.1".

#I022 Найдено "PCI\CC_0604" в C:\WINDOWS\inf\machine.inf; Устройство: "Стандартный мост PCI - PCI"; Драйвер: "Стандартный мост PCI - PCI"; Поставщик: "Microsoft"; Изготовитель: "(стандартные системные устройства)"; Секция: "PCI_DRV"
#I023 Действительная секция установки: [PCI_DRV]. Ранг: 0x00002004. Дата драйвера: 07/01/2001.
#I022 Найдено "PCI\VEN_8086&DEV_3A48" в C:\D\C\I1\ichacore.inf; Устройство: "Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Драйвер: "Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Поставщик: "Intel"; Изготовитель: "Intel"; Секция: "PCI_DRV"

#I023 Действительная секция установки: [PCI_DRV]. Ранг: 0x00000003. Дата драйвера: 05/27/2008.
#-166 Функция установки устройства: DIF_SELECTBESTCOMPATDRV.

#I063 Установка выбранного драйвера из секции [PCI_DRV] в "c:\windows\inf\oem1.inf".

#I320 GUID класса устройства остается равным {4D36E97D-E325-11CE-BFC1-08002BE10318}.
#I060 Установка выбранного драйвера.

#I058 Выбран наиболее совместимый драйвер.


Теперь если вы убьете цифровую подпись у драйвера

"Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Драйвер: "Intel(R) ICH10 Family PCI Express Root Port 5 - 3A48"; Поставщик: "Intel"; Изготовитель: "Intel"; Секция: "PCI_DRV

То ранг его скорей всего будет:
Ранг: 0x0000A003. Дата драйвера: 05/27/2008. или Ранг: 0x0000E003. Дата драйвера: 05/27/2008.
И поставится в результате вместе его драйвер "Стандартный мост PCI - PCI"; Драйвер: "Стандартный мост PCI - PCI"; Поставщик: "Microsoft";


.text:7793275B loc_7793275B: ; CODE XREF: DrvSearchCallback(x,x,x,x,x)+387j
.text:7793275B ; DrvSearchCallback(x,x,x,x,x)+38Fj
.text:7793275B push esi
.text:7793275C push esi
.text:7793275D push esi
.text:7793275E push dword ptr [ebx+35Ch]
.text:77932764 push edi
.text:77932765 push dword ptr [ebp+var_728]
.text:7793276B lea eax, [ebx+360h]
.text:77932771 push eax
.text:77932772 push [ebp+var_708]
.text:77932778 call _VerifyDeviceInfFile@32 ; VerifyDeviceInfFile(x,x,x,x,x,x,x,x)
.text:7793277D test eax, eax
.text:7793277F jz short low_ranc
.text:77932781 mov [ebp+_INF_IS_VERIFIED_], 1
.text:7793278B
.text:7793278B low_ranc: ; CODE XREF: DrvSearchCallback(x,x,x,x,x)+37Bj
.text:7793278B ; DrvSearchCallback(x,x,x,x,x)+398j
.text:7793278B ; DrvSearchCallback(x,x,x,x,x)+3A0j
.text:7793278B ; DrvSearchCallback(x,x,x,x,x)+3C6j
.text:7793278B cmp [ebx+24h], esi
.text:7793278E jnz short no_low_ranc
.text:77932790 cmp [ebp+_INF_IS_VERIFIED_], esi
.text:77932796 jnz short no_low_ranc
.text:77932798 or byte ptr [ebp+rank+1], 80h
.text:7793279F cmp [ebp+var_748], esi
.text:779327A5 jnz short no_low_ranc
.text:779327A7 cmp [ebp+var_74C], esi
.text:779327AD jnz short no_low_ranc
.text:779327AF or byte ptr [ebp+rank+1], 0C0h
.text:779327B6
.text:779327B6 no_low_ranc: ; CODE XREF: DrvSearchCallback(x,x,x,x,x)+3D5j
.text:779327B6 ; DrvSearchCallback(x,x,x,x,x)+3DDj
.text:779327B6 ; DrvSearchCallback(x,x,x,x,x)+3ECj
.text:779327B6 ; DrvSearchCallback(x,x,x,x,x)+3F4j
.text:779327B6 push [ebp+lpString]
.text:779327BC push offset _pszDrvDescFormat ; "%s.DriverDesc"
.text:779327C1 lea eax, [ebp+String2]

Mr dUSHA
22-01-2009, 12:55
Это были выдержки из вашего лога из поста #18 этого топика.

А система SFC (WFP) на этапе T-8 делает абсолютно то же самое, что и команда sfc.exe /scannow.

Mr dUSHA
22-01-2009, 14:27
Вот живой пример из того же лога, где очень хорошо видно механизм:

[2009/01/15 22:11:05 340.1131 Driver Install]
#-019 Поиск идентификаторов аппаратуры: pci\ven_8086&dev_3a34&subsys_82d41043&rev_00,pci\ven_8086&dev_3a34&subsys_82d41043,pci\ven_8086&dev_3a34&cc_0c0300,pci\ven_8086&dev_3a34&cc_0c03
#-018 Поиск совместимых идентификаторов: pci\ven_8086&dev_3a34&rev_00,pci\ven_8086&dev_3a34,pci\ven_8086&cc_0c0300,pci\ven_8086&cc_0c03,pci\ven_8086,pci\cc_0c0300,pci\cc_0c03
#-199 Выполнение "C:\WINDOWS\system32\setup.exe" с командной строкой: setup -newsetup

#I022 Найдено "PCI\CC_0C0300" в C:\WINDOWS\inf\usbport.inf; Устройство: "Стандартный универсальный PCI - USB хост-контроллер"; Драйвер: "Стандартный универсальный PCI - USB хост-контроллер"; Поставщик: "Microsoft"; Изготовитель: "(Стандартный USB хост-контроллер)"; Секция: "UHCI.Dev"
#I023 Действительная секция установки: [UHCI.Dev.NT]. Ранг: 0x00002005. Дата драйвера: 07/01/2001.

#I022 Найдено "PCI\VEN_8086&DEV_3A34" в C:\WINDOWS\inf\oem2.inf Устройство: "Intel(R) ICH10 Family USB Universal Host Controller - 3A34"; Драйвер: "Intel(R) ICH10 Family USB Universal Host Controller - 3A34"; Поставщик: "Intel"; Изготовитель: "Intel"; Секция: "INTEL_USB"
#I023 Действительная секция установки: [INTEL_USB.NT]. Ранг: 0x00002001. Дата драйвера: 02/25/2008.

#I022 Найдено "PCI\CC_0C0300" в C:\D\C\AU\usb.inf; Устройство: "Standard Universal PCI to USB Host Controller"; Драйвер: "Standard Universal PCI to USB Host Controller"; Поставщик: "Acer_Lab_Inc"; Изготовитель: "(Standard USB Host Controller)"; Секция: "UniversalHCD.Dev"
#I087 Нет доверия к узлу драйвера, ранг изменен с 0x00002005 на 0x0000e005.
#I023 Действительная секция установки: [UniversalHCD.Dev]. Ранг: 0x0000e005. Дата драйвера: 01/01/1601.

#I022 Найдено "PCI\CC_0C0300" в C:\D\C\AU\usb.inf; Устройство: "Stand Universal PCI to USB Host Controller"; Драйвер: "Stand Universal PCI to USB Host Controller"; Поставщик: "Acer_Lab_Inc"; Изготовитель: "Acer lab Inc(ALi)"; Секция: "UniversalHCD.Dev"
#I087 Нет доверия к узлу драйвера, ранг изменен с 0x00002005 на 0x0000e005.
#I023 Действительная секция установки: [UniversalHCD.Dev]. Ранг: 0x0000e005. Дата драйвера: 01/01/1601.

#I022 Найдено "PCI\VEN_8086&DEV_3A34" в C:\D\C\I1\ichausb.inf; Устройство: "Intel(R) ICH10 Family USB Universal Host Controller - 3A34"; Драйвер: "Intel(R) ICH10 Family USB Universal Host Controller - 3A34"; Поставщик: "Intel"; Изготовитель: "Intel"; Секция: "INTEL_USB"
#I023 Действительная секция установки: [INTEL_USB.NT]. Ранг: 0x00002001. Дата драйвера: 02/25/2008.

#-166 Функция установки устройства: DIF_SELECTBESTCOMPATDRV.

#I063 Установка выбранного драйвера из секции [INTEL_USB] в "c:\windows\inf\oem2.inf".

mercuryn
22-01-2009, 14:27
Mr dUSHA, А система SFC (WFP) на этапе T-8 делает абсолютно то же самое, что и команда sfc.exe /scannow. »
При использовании ГУИ с аддоном SFC этап Т-8 пропускается...

В этой версии (для SP3) при наличии ключа "SFCSetting"=dword:ffffff9d так же не производится сканирование после установки, (примерно на T10 -T2), что позволяет сократить время установки и избежать конфликтов при устаннавке неподписанных драйверов, имеющих одноименные подписанные файла в дистрибутиве (например, от видеокарт ATI и NV).
Отдельное спасибо Mr.dUSHA за идею и информацию по отключению скана на T10. »
PS
За логи спасибо, хотя я их и видел и анализировал причину неустановки неподписанного драйвера видеокарты ATI ещё два месяца назад.
Аддон SFC тогда не использовался.
После его использования неподписанный драйвер установился.
PS
Мне кажется, что идёт разговор слепого и глухого...
PS
Теперь если вы убьете цифровую подпись у драйвера »
Цифровая подпись уже была убита...

Mr dUSHA
22-01-2009, 16:26
При использовании ГУИ с аддоном SFC этап Т-8 пропускается... »
Никакого отношения это не имеет к интеловскому драйверу.
Если сканирование не отключить, драйвер все также останется работать по двум причинам:
- этот драйвер подписан;
- если б он даже и был неподписан, то его просто нет в списке защиты (sfcfiles.dll), и на Т-8 SFC на него бы внимания не обратила.


Цифровая подпись уже была убита...
Цифровая подпись живая на выбранный драйвер. Это сам установщик так говорит. Да и ранг: 0x00000003 об этом красноречиво свидетельствует.

и анализировал причину неустановки неподписанного драйвера видеокарты ATI ещё два месяца назад.
Два месяца назад вы просто забыли (или не знали, что это нужно сделать) удалить все имена файлов вашего ATI-драйвера из списка защиты SFC (sfcfiles.dll), и после того, как драйвер нормально установился гдет-то на этапе Т-34 установщиком, на Т-8 система SFC заменила большую часть файлов драйвера файлов на старые но подписанные (драйвера для АТИ видеокарт есть в дистрибутиве, и имена файлов восновном совпадают с современными референсными).
Но чтоб не заморачиваться со списком файлов, вы просто выключили всю SFC целиком.

Так что уважаемый mercuryn, вам пора бы уже заняться изучением матчасти, а не по пионерски рвать на груди рубашку в надежде доказать обратное даже фактам из вашего же журнала установки. ;)

mercuryn
23-01-2009, 01:08
Mr dUSHA, Цифровая подпись уже была убита... »
Вот тут я действительно ошибся... Я имел в виду драйвера \I4, которые неподписанные и из-за которых и возник этот спор, а интелловские inf никто невинности не лишал, здесь Вы абсолютно правы...
Ведь это Ваше утверждение:
Для всего пакета драйверов конечно нужно отключать SFC (или выводить файлы из списка защиты), как вы и делаете, и вы в этом правы.
Я предлагаю единственный в контексте драйвера iaStor.sys способ. »
В прилагаемом мною логе строки по iaStor есть, но Вы как то прошли мимо комментарий по ним, увлеклись вопросами понижения драйверов и оставили вопрос открытым...
Есть такая шутка в студенческой среде: Один студент, не успевая выучить весь предмет, выучил червеобразных. А на экзамене ему достался слон. Студент оказался сообразительным, коротко описав слона он быстро перешёл к хоботу, имеющему червеобразный вид и продолжил дальше по червообразным...
В каждой шутке есть доля правды, но дело не в этом.
Если Вы обратите внимание в логе на USB.INF, от 1995 года, бессмысленных для XP, то сколько такого рода материала неподписанного (хорошо ещё без даты корректировки) в пакетах драйверов от Башрата или вовсе без даты. Уменьшение числа проверок до одной даты с одной стороны хорошо, а с другой получается, что без защиты "от дурака", или иными словами, без детальной проверки драйверов до использования не обойтись...
И этот снежный ком, похоже, будет только увеличиваться. Ведь в основе своей все разработки базируются на фундаменте пакетов Башрата.
Может необходим механизм подписи драйверов штампом форума, воспринимаемым операционной системой наравне с микрософтовским???
Механизм такого рода может пригодиться и в других ОС... Или ...???

Mr dUSHA
23-01-2009, 02:30
Уменьшение числа проверок до одной даты с одной стороны хорошо, а с другой получается, что без защиты "от дурака", »
Нет. Вы ошибаетесь. Защиты и проверки никакие не отключаются и проводятся установщиком в полном объеме.
И действительно после сабжевого патча, установщик воспринимает чужие неподписанные драйвера на ровне со своими микрософтовскими. В этом была изначальная цель моих раскопок этого механизма.

Механизм вычисления ранга драйвера довольно таки хитромудрый и запутанный, и учитывает множество факторов. Этот ранг по сути своей представляет собой некоторое число. А на самом последнем этапе проверки ИНФ-файла, проверяется его цифровая подпись, и если она отсутствует, то это число (ранг) увеличивается на 0x8000h или на 0xC000, в зависимости от типа драйвера, что автоматически ставит этот драйвер в самый конец списка претендентов на установку. (А там принцип такой, что чем это число (ранг) меньше, тем драйвер считается лучше. Так что при выборе наиболее подходящего драйвера, установщик возьмет тот, у которого значение ранга самое маленькое.)



...........воспринимаемым операционной системой наравне с микрософтовским???
Механизм такого рода может пригодиться и в других ОС... Или ...??? »
Я уже реализовал это в патче рейтингов для Windows Vista.

Смотрите файл SETUPAPI_VISTA.txt (http://forum.oszone.net/attachment.php?attachmentid=14074&d=1218144386) из темы Внутренности Установщика WinXP (http://forum.oszone.net/thread-106849.html).

Цитата оттуда:
=======================================================================================
; Рейтинг (ранг) неподписанных драйверов
; --------------------------------------
; Рейтинг драйверов в Windows Vista рассчитывается несколько более сложным методом,
; чем в Windows XP. Но главной, в данном контексте, сути это не меняет - для
; неподписанных драйверов устанавливается наименьший рейтинг.
; Так что для интеграции в дистрибутив неподписанных драйверов
; (например патченые/тюнингованые драйвера видеокарт) и последующей их автоустановки
; нужно пропатчить алгоритм вычисления рейтинга, чтоб неподписанные драйвера были
; с тем же рейтингом, что и встроенные в дистрибутив.
=======================================================================================

hobbit25
23-01-2009, 02:49
mercuryn, Mr dUSHA, пора аддон переименовывать например ДИАЛОГ mercuryn, Mr dUSHA )))))

Boa Soft
23-01-2009, 12:22
mercuryn, Mr dUSHA, пора аддон переименовывать например ДИАЛОГ mercuryn, Mr dUSHA ))))) »

Зато все "по полочкам" разложили :)

hobbit25
23-01-2009, 16:05
Boa Soft, не спорю ТОКА вот придут ли к единому мнению!!

хотя именно в споре рождается истина!!!

Комсомолец
23-01-2009, 17:15
mercuryn, драйвера Nforce 570. Конкретно мамка MSI K9N-Ultra и MSI K9N-Neo. В них как раз и ставится стандартный драйвер IDE-контроллера, хотя есть для Nforce. Неодноратно в этом убеждался. Это я к:
Поэтому и просил реальный пример. »

mercuryn
23-01-2009, 22:27
Комсомолец, про 570 серию спасибо, но весь вопрос в том, был ли в вашем дистрибутиве интегрирован аддон SFC. Если нет, то это не пример...
В принципе, Boa Soft прав. Выкинув некоторые издержки, из сообшений этого форума вполне может получиться доступная для восприятия документация... Побольше бы такой документации, глядишь, и вопросов меньше станет...

Комсомолец
24-01-2009, 01:46
mercuryn, аддон SFC был интегрирован.

g7r7s7
25-01-2009, 15:58
hobbit25, Mr dUSHA, файлик версии 5.1.2600.5603 можете сделать?

Mr dUSHA
26-01-2009, 01:05
файлик версии 5.1.2600.5603 можете сделать? »

UPD 26.01.2009:
Вложение переехало сюда:
ZZ_SETUPAPI_(Setupapi.dll)(--psa-all)(All_Versions) (http://forum.oszone.net/post-1019751-43.html)

LonerD
26-01-2009, 01:52
файлик версии 5.1.2600.5603 можете сделать? »
А с каким обновлением появляется эта версия?




© OSzone.net 2001-2012