|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|||||||
Почему работает драйвер подписанный сторонним сертификатом05.11.2015, 16:52. Показов 8061. Ответов 40
Метки нет (Все метки)
Проще подписать драйвер своей цифровой подписью. Я так устанавливал старый неподписаный драйвер для звуковой карты Кликните здесь для просмотра всего текста
Инструкций в сети полно
0
|
|||||||
| 05.11.2015, 16:52 | |
|
Ответы с готовыми решениями:
40
Не запускается подписанный драйвер Не выполняется подписанный PowerShell-скрипт Почему не срабатывает драйвер?-2 |
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 08.11.2015, 21:11 [ТС] | |
|
Убежденный, пока не могу перезагружаться (играю по сети, не хотелось бы остаться без звука)
Все данные обязательно предоставлю, но позже
0
|
|
|
Ушел с форума
|
|||||||||||
| 08.11.2015, 23:00 | |||||||||||
|
Да, конечно. Извиняюсь еще раз за назойливость
![]() Да, и в последнем сообщении я имел в виду WinObj, а не WinDBG ("см. вывод программы Спустя 1 час 48 минут... Кажется, я нашел способ расставить все точки над "i". Нужно выполнить инструкцию по WinDBG+livekd, описанную выше, только после команды "lmv m t3" (см. выше) выполнить еще парочку:
Это должно дать исчерпывающий ответ, почему грузится данный драйвер. vavun, если будет возможность, сделайте пожалуйста, и отпишитесь по результатам, очень любопытно.
0
|
|||||||||||
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
||||||||||||||||
| 08.11.2015, 23:10 [ТС] | ||||||||||||||||
|
Убежденный, lmv m t3
Добавлено через 1 минуту Пока окно открыто
0
|
||||||||||||||||
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 08.11.2015, 23:15 [ТС] | |
|
WinOBJ отображает драйвер на данный момент
Добавлено через 1 минуту Осталось проэксперементировать с переименовыванием драйвера, или это уже не требуется ? Добавлено через 1 минуту Если все еще нужно, могу предоставить досуп по TeamViewer, но при условии, что вы подробно расскажите о результатах исследования в этой теме)
0
|
|
|
Ушел с форума
|
||||
| 08.11.2015, 23:24 | ||||
|
0
|
||||
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 08.11.2015, 23:26 [ТС] | |
|
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 08.11.2015, 23:30 [ТС] | |
|
Это был он
![]() Я остался без звука, сейчас верну как было и снова перезагружусь
0
|
|
|
Ушел с форума
|
|
| 09.11.2015, 00:38 | |
|
Пока не нахожу этому поведению никакого логического объяснения.
Все говорит о том, что данный драйвер грузиться не должен, но он все равно грузится... Итак, мы проверили, что система 64-битная, что никаких test mode и прочих хакерских утилит на ней не применялось. Дополнительно проверили, что это именно тот файл драйвера: * с помощью команды lmv m была получена информация о загруженном в ядро модуле t3.sys: его путь (system32\drivers\t3.sys), контрольная сумма и отметка времени в точности совпадают с данными того файла, который вы мне прислали; * с помощью переименования дополнительно убедились, что без этого файла драйвер не загружается и, соответственно, звук не работает. Вывод команд dd CI!g_CiOptions и dd nt!g_CiEnabled показал, что внутренние переменные ядра системы, которые хранят параметры загрузки, опции проверки цифровых подписей и т.п., содержат дефолтные "нормальные" значения 6 и 1. В случае использования test mode, например, там могло быть 0xe и 1. В случае отключения проверки цифровых подписей в переменной g_CiEnabled было бы значение 0, но здесь ничего из этого нет, тоже все чисто. Более того, я проделал еще один тест на виртуалке с 64-битной Windows 7 SP1, импортировав сертификат "Vavun" в нужные хранилища с помощью certmgr.exe, но сам драйвер у меня не запустился, выдав все тот же код ошибки 577. Еще я попробовал проделать тот же трюк, но с другим драйвером, который обслуживает реальное оборудование (для PnP-драйверов правила подписывания немного другие). Убрал из подписи кросс-сертификат, т.е. получил обычную подпись, такую, которой подписываются обычные exe. Все нужные сертификаты были установлены и в "Доверенные корневые центры сертификации", и в "Доверенные издатели". Драйвер, как и ожидалось, нормально установился, но в диспетчере оборудования появился новый пункт с вопросиком, сообщающий о том, что сам драйвер запущен не был. То же самое проделал в test mode: в этом режиме драйвер установился и запустился, но как только я выключил test mode, он загружаться перестал. -------- В общем, я пока в полнейшем недоумении: как такое может быть ?.. У меня осталось только одно подозрение, что этот эффект был вызван интеграцией драйвера в образ Windows (в install.wim). Где-то видел, что утилита dism.exe из Windows ADK имеет флаг /ForceUnsigned для того, чтобы встраивать в дистрибутив неподписанные драйверы. Других мыслей пока нет. Мне вот что не дает покоя: Windows Vista, в которой появилась эта система с обязательным подписыванием драйверов на x64, вышла уже почти десять лет назад, и если бы существовал такой простой способ обойти эту защиту, все или большинство, кому это надо, давно бы им пользовались. Ведь это до невозможного просто: сгенерить серт, подписать им драйвер, а затем при установке на целевой компьютер поставить серты в нужные хранилища (это можно сделать программно, не выдавая юзеру никаких запросов) и запуститься. Но вместо этого одни платят по несколько сотен баксов в год за сертификаты, другие, - как правило, разработчики малвари, - используют сложнейшие техники типа DSEFix (динамический патч ядра Windows с помощью уязвимости в драйвере VirtualBox), чтобы таки обойти защиту и загрузить свой вредоносный модуль в ядро. Неужели все они (и я в том числе) ошибаются и решение настолько простое и "под носом" ? Хотя если все так, то почему у меня так и не получилось запустить драйвер на x64, несмотря на все старания ?..
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|||||||||||
| 09.11.2015, 01:04 [ТС] | |||||||||||
|
Да, драйвер был интегрирован с игнорированием отсусттвия подписи
А вы не могли бы у себя проверить, получится ли таким образом добавить драйвер в живую ОС ? (и подписаный и не подписаный)
0
|
|||||||||||
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 09.11.2015, 01:15 [ТС] | |
|
Я тут еще на кое что обратил внимание
теперь вообще ничего не понимаю. Возник вопрос: а что будет, если установить в систему драйвер, где *.cat имеет валидную подпись, но один из *.sys файлов не имеет подписи вовсе, а уже после установки такого драйвера подписать его левой подписью предварительно добавив её сертификат в систему ? Или заменить неподписаный sys на подписанный левым сертификатом, но опять же, после установки с валидным cat ?
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 09.11.2015, 01:36 [ТС] | |
|
Убежденный, в общем если требуется еще какая то информация готов предоставить
0
|
|
|
Ушел с форума
|
||||||||||||||||
| 09.11.2015, 02:10 | ||||||||||||||||
![]()
не делал, поэтому черепашьими шагами иду. Инструкцию бы какую...
реальным сертификатом, но без кросса, т.е. грузиться не должен) и cross-signed (подписанный как положено, должен грузиться везде от XP до Win10). Timestamp я не использовал, чтобы не вовлечь в это увлекательное исследование всякие побочные эффекты, связанные с цепочками сертификатов из timestamp. Драйвер совершенно ничего не делает, просто запускается и висит в системе. Установить можно так, например:
будет грузиться при включении компа. MyDriver.zip
.cat - это контейнер, в котором хранятся хэши всех файлов из пакета драйвера (driver package). Обычно в driver package лежат .sys и .inf, хотя и не обязательно, могут быть и другие файлы. Сам .sys-файл может как иметь, так и не иметь "вшитую" подпись (т.н. embedded signature). Когда система загружает драйвер, она считает его хэш и пытается найти этот хэш в своей внутренней базе данных (а база хэшей формируется на основе всех установленных .cat-файлов; разумеется, проверяются только .cat-файлы с валидной подписью). Если хэш найден, драйвер загружается. Если нет, проверяется "вшитая" в .sys-файл цифровая подпись. Если и она невалидная, тогда драйвер не загрузится. Ну по крайней мере, я так считал до сегодняшнего дня ![]() Я не уверен, что эти проверки выполняются именно в таком порядке, а не наоборот, но сути это, по большому счету, не меняет. Если в .sys-файле изменить хотя бы один бит, тогда произойдет следующее: "вшитая" цифровая подпись станет невалидной, это должно быть понятно. Более того, хэш файла тоже изменится, и проверка сигнатуры по базе каталогов тоже не будет проходить. У нас в программировании драйверов даже есть такая типичная ошибка: кто-то подписывает сначала .cat, а затем .sys, в итоге драйвер, если его просто заинсталлить через sc.exe, нормально запускается, а вот устанавливаться через inf-файл упорно не хочет. Все потому, что хэш .sys-файла, который уже забит в .cat, после подписывания .sys-файла меняется и driver package становится неподписанным. В общем, возвращаясь к вопросу о том, что будет, если "установить в систему драйвер, где *.cat имеет валидную подпись, но один из *.sys файлов не имеет подписи вовсе, а уже после установки такого драйвера подписать его левой подписью предварительно добавив её сертификат в систему" - ответ такой: грузиться этот драйвер не будет. Левая подпись, которая "вшита" в sys, для загрузки недостаточна (т.к. она левая). Хэш файла изменился, поэтому пройти проверку по .cat он тоже не сможет. Грузиться не должен после этого.
Я, кстати, многократно проделывал подобные эксперименты, когда только начинал разбираться во всей этой "кухне". Логика Windows почти всегда "железная": как только ты хоть на полшага нарушаешь схему - все перестает работать.
1
|
||||||||||||||||
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
||
| 09.11.2015, 02:36 [ТС] | ||
|
Монтируем install.wim с установочного дистрибутива в папку D:\mount Windows Batch file dism.exe /Mount-Wim /wimfile:"E:\sources\install.wim" /mountdir:D:\mount /index=1 определить можно так Windows Batch file dism.exe /get-wiminfo /Wimfile:"E:\sources\install.wim" Windows Batch file dism.exe /image:D:\mount /Add-Driver /driver:D:\Drivers /recurse /ForceUnsigned откоючаем смонтированный индекс с сохранением Windows Batch file dism.exe /UnMount-Wim /mountdir:D:\Mount /commit Добавлено через 2 минуты Самое важное, наличие INF файлов, иначе не получится Добавлено через 12 минут unsigned
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\unsigned\mydriver.sy s
[SC] CreateService: успех C:\Windows\system32>net start mydriver Системная ошибка 577. Системе Windows не удается проверить цифровую подпись этого файла. При последнем изменении оборудования или программного обеспече ния могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного про исхождения. signed
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\signed\mydriver.sys
[SC] CreateService: успех C:\Windows\system32>net start mydriver Системная ошибка 577. Системе Windows не удается проверить цифровую подпись этого файла. При последнем изменении оборудования или программного обеспече ния могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного про исхождения. cross-signed
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\cross-signed\mydriver.sys
[SC] CreateService: успех C:\Windows\system32>net start mydriver Служба "mydriver" успешно запущена. Подписал ваш драйвер своей подписью. Финт ушами
C:\Windows\system32>sc create Vavun type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\signed-Vavun\mydriver.s
ys [SC] CreateService: успех C:\Windows\system32>net start Vavun Системная ошибка 577. Системе Windows не удается проверить цифровую подпись этого файла. При последнем изменении оборудования или программного обеспече ния могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного про исхождения.
0
|
||
|
Ушел с форума
|
|
| 09.11.2015, 02:45 | |
|
За инструкции спасибо, все вроде правильно сделал, но пока
застрял на пункте "закинуть install.wim обратно и сделать новый iso". С помощью чего это лучше провернуть ?
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 09.11.2015, 02:57 [ТС] | |
|
Убежденный, ultraiso например. Или любой утилитой поддерживающей работу с ISO образами
0
|
|
|
Ушел с форума
|
|
| 09.11.2015, 11:42 | |
|
Вот на этом шаге я пока и застрял.
Сделал два пакета драйверов, оба как положено - с inf и cat файлами (они нормально устанавливаются через контекстное меню inf), первый подписан без кросса, второй с кроссом. Интегрировал эти драйверы через dism.exe в дистрибутив, затем сделал iso c помощью CDBurnerXP (с UltraISO не срослось). Образ нормально устанавливается, но своих драйверов я не в списке зарегистрированных, ни вообще где-либо на диске не нашел. Буду продолжать после работы.
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
|
| 09.11.2015, 11:51 [ТС] | |
|
Убежденный, назовите редакцию и разрядность устанавливаемой ОС.
Вероятно вы перепутали индексы в install.wim Либо выполните поиск соответствующий файлов драйверов на установленной ос. Если они интегрированы и индекс был выбран верный, они должны быть в репозитории драйверов, но не будут установлены.
0
|
|
|
Ушел с форума
|
|
| 09.11.2015, 12:04 | |
|
Windows 7 Ultimate SP1 x64 rus
Возможно, что-то и напутал, дело ночью было... Попробую еще раз более внимательно, когда время будет. А драйверов на установленной ОС я не нашел, ни в system32\drivers, ни в репозитории драйверов, ни еще где на диске.
0
|
|
|
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
|
||
| 09.11.2015, 12:14 [ТС] | ||
|
dism.exe /Mount-Wim /wimfile:E:\sources\install.wim /mountdir:D:\mount /index=4 Проверить можно так dism.exe /get-wiminfo /Wimfile:"E:\sources\install.wim" Результат Если есть под руками imagex, то можно сделать экспорт нужного индекса в отдельный install.wim, чтобы в дальнейшем не путаться с индексами Источник "E:\sources\install.wim" Назначение "D:\install.wim" индекс 4 imagex /export "E:\sources\install.wim" 4 "D:\install.wim" "Windows 7 Ultimate (x64)" /compress maximum И в дальнейшем работать только с этим install.wim
1
|
||
|
Ушел с форума
|
|
| 09.11.2015, 22:29 | |
Сообщение было отмечено vavun как решение
Решение
Бесполезно. Несколько раз (если быть точным - 4) встраивал драйверы в дистрибутив Windows 7,
после установки они появляются в репозитории драйверов, но запуск обламывается с кодом 577. Пробовал подписывать только .sys, только .cat или оба вместе, один раз своим сертификатом, но без кросса, другой раз генерировал новый сертификат. Пробовал устанавливать драйверы и через sc.exe, и через inf-файл. Во всех случаях все попытки закончились тем, что драйвер просто не запускался, выдавая все тот же код 577. Пробовал и сертификаты ставить в хранилища "root", "trustedpublisher" и "personal", системное и юзерское - не помогло. На другой системе (тоже Windows 7), которая переведена в тестовый режим, все корректно подписанные драйверы нормально устанавливаются (inf/sc.exe) и запускаются без проблем. В общем, я пас. Никакого логического объяснения происходящему я найти не могу.
0
|
|
| 09.11.2015, 22:29 | |
|
Почему смена текста работает только один раз? Что неправильно в коде и почему? Почему выводится в виде таблицы и почему не работает сортировка Не работает драйвер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|