драйвер как открыть код
Как найти драйвер по коду устройства
Поиск выполняется в два простых шага.
1. Определяем код устройства
В левом окне кликаем по «Диспетчер устройств».
В правом окне находим устройство, для которого нужно установить драйвер (отмечен восклицательным знаком), нажимаем по нему правой кнопкой мыши и выбираем пункт меню «Свойства».
В открывшемся окне переходим на вкладку «Сведения» и в выпадающем меню «Свойство» выбираем «ИД оборудования» (в Windows XP «Код экземпляра устройства»).
В том же окне в поле «Значение» появится код (или коды) устройства:
Выбираем верхний и копируем его, нажав комбинацию клавиш ;
2. Находим драйвер по коду устройства
Заходим на сайт www.devid.info и вставляем скопированный код устройства в поле поиска.
Нажимаем «Ok» — появится список драйверов для найденного устройства.
Если для кода не будут найдены драйверы, необходимо вернуться к списку идентификаторов и выбрать следующий в перечне:
Альтернативные способы
Поиск онлайн
Если не удалось найти драйвер на предыдущем шаге, можно поискать драйвер с использованием любой поисковой системы, просто вставив в поисковую строку идентификатор устройства.
Использование программ
Также можно воспользоваться программой для полуавтоматической установки драйвера, например, DriverHub.
Драйвер — это просто
Многие считают что самому создать драйвер для Windows это что-то на грани фантастики. Но на самом деле это не так. Конечно, разработка драйвера для какого-то навороченного девайса бывает не простой задачей. Но ведь тоже самое можно сказать про создание сложных программ или игр. В разработке простого драйвера нет ничего сложного и я попытаюсь на примерах это показать.
Сперва нам нужно определится в чем мы же будем создавать наш первый драйвер. Поскольку материал ориентирован на новичков, то язык программирования был выбран один из простых, и это не Си или ассемблер, а бейсик. Будем использовать один из диалектов бейсика — PureBasic. Из коробки он не обучен создавать драйверы, но у него удачный набор файлов, используемых для компиляции и небольшое шаманство позволяет добавить эту возможность. Процесс компиляции состоит из нескольких этапов. Если кратко, то он происходит следующим образом: Сначала транслятор «перегоняет» basic-код в ассемблер, который отдается FASM’у (компилятор ассемблера), который создает объектный файл. Далее в дело вступает линкер polink, создающий исполняемый файл. Как компилятор ассемблера, так и линкер могут создавать драйверы и если немного изменить опции компиляции, то получим не исполняемый файл, типа EXE или DLL, а драйвер режима ядра (SYS).
Скачать немного модифицированную бесплатную демо версию PureBasic 4.61 x86 можно на файлопомойке, зеркало.
Если нужно создать драйвер для x64 системы, качайте эту версию, зеркало.
Дистрибутивы имеют небольшие размеры, около 3 МБ каждый. С помощью этой версии можно создавать только драйвера.
Скачиваем, распаковываем и запускаем, кликнув по файлу «PureBasic Portable». При этом запустится IDE и вылезет окошко с сообщением что это демо-версия и списком ограничений. Из него наиболее существенным является ограничение числа строк кода, равное 800, а для создания простых драйверов этого может хватить. Остальные ограничения в нашем случае, не существенны.
Окно IDE с загруженным кодом драйвера показано на скрине.
Компиляция драйвера выполняется через меню «Компилятор» (это если кто не понял).
Теперь определимся что будет делать наш первый драйвер. Обычно при изучении программирования начинают с простых вещей, скажем, выполнения математических операций и вывода результата. Вот пусть наш драйвер делает тоже самое, ведь банальная математика производимая в режиме ядра это очень круто!
Может показаться что это куча бессмысленного кода, но это не так.
У каждого драйвера должна быть точка входа, обычно у нее имя DriverEntry() и выполнена она в виде процедуры или функции. Как видите, в этом драйвере есть такая процедура. Если посмотрите на начало кода, то в первых строках увидите как ей передается управление. В этой процедуре происходит инициализация драйвера. Там же назначается процедура завершения работы драйвера, которая в нашем случае имеет имя UnloadDriver(). Процедуры CreateDispatch() и CloseDispatch() назначаются обработчиками соединения и отсоединения проги из юзермода.
Процедура DeviceIoControl() будет обрабатывать запросы WinAPI функции DeviceIoControl(), являющейся в данном драйвере связью с юзермодом. В конце кода расположена так называемая ДатаСекция (DataSection), в которой находятся имена драйвера, сохраненные в формате юникода (для этого использована одна из фишек ассемблера FASM).
Теперь рассмотрим как драйвер будет взаимодействовать с внешним миром. Это происходит в процедуре DeviceIoControl(). В ней отслеживается одно сообщение, а именно — #IOCTL_MyPlus, которое отправляет юзермодная прога, когда ей нужно сложить два числа в режиме ядра (круто звучит, правда?). Когда такое сообщение получено, то считываем из системного буфера, адрес указателя на структуру со слагаемыми, производим сложение и результат помещаем в системный буфер. Собственно это основная задача нашего первого драйвера.
Видите сколько понадобилось кода для выполнения простейшей математической операции — сложения двух чисел?
А теперь рассмотрим программу, работающую с этим драйвером. Она написана на том же PureBasic.
При старте программы вызывается функция OpenDriver(), которая загружает драйвер. Для упрощения, имя драйвера, имя службы и описание службы заданы одинаковыми — «pbDrPlus». Если загрузка неудачная, то выводится соответствующее сообщение и программа завершает свою работу.
Процедура Plus() осуществляет связь с драйвером. Ей передаются хэндл, доступа к драйверу и слагаемые числа, которые помещаются в структуру и указатель на указатель которой, передается драйверу. Результат сложения чисел будет в переменной «Result».
Далее следует код простейшего GUI калькулятора, скопированного из википедии.
Когда закроют окно, то перед завершением работы программы, закрывается связь с драйвером и производится его деинсталляция из системы.
Результат сложения чисел 8 и 2 на скриншоте.
Исходные коды драйвера и программы, можно найти в папке «Examples», PureBasic на файлопомойке, ссылку на который давал в начале статьи. Там так же найдете примеры драйвера прямого доступа к порам компа и пример работы с памятью ядра.
PS.
Помните, работа в ядре чревата мелкими неожиданностями аля, BSOD (синий экран смерти), поэтому экспериментируйте осторожно и обязательно всё сохраняйте перед запуском драйвера.
За возможную потерю данных, я ответственности не несу!
Как найти драйвер по коду оборудования ИД (ID, VEN/VID, DEV/PID)
Доброго времени суток!
Проблема поиска драйверов с выходом Windows 8/10 — существенно облегчилась (т.к. большую часть из них, обычно, находит и устанавливает сама ОС). Однако, в ряде случаев — драйвер система не находит, и, разумеется, это придется делать самостоятельно.
В сегодняшней статье я хотел более подробно описать вариант поиск драйвера по его коду (ID*, идентификатор оборудования). Этот способ универсален, и может выручить даже в самых сложных случаях.
Что такое ID (код оборудования)
Благодаря подобному коду (ID) — можно найти и установить драйвер практически для любого оборудования. Причем, это позволит избежать кучи проблем (конфликтов, несовместимости и пр.) и установить конкретно тот драйвер, который нужен вашему устройству.
Теперь о том, как найти этот код и как с помощью него установить драйвер.
Поиск драйвера по коду оборудования
ШАГ 1: узнаем ID-код оборудования
Диспетчер устройств — свойства
Сведения — ID оборудования
Примечание : рекомендую сначала скопировать и искать по короткой строке, в которой содержится только VID и PID (VEN, DEV). Пример ниже.
Копировать ID оборудования
ШАГ 2: где искать драйвер для оборудования, зная его код ID
Поиск драйвера на Devid.info
Аналогичный сайт. На мой взгляд, он даже поудобнее, т.к. предлагает сразу загрузить архив с драйвером (без пред-просмотра лишней рекламы).
Строку с ИД можно просто вставить в любую поисковую систему и произвести поиск. При поиске драйверов к оборудованию от малоизвестных китайских брендов — нередко драйвер можно загрузить только с очень «специфичных» сайтов.
После загрузки архива (исполняемого файла) с драйверами — рекомендую проверить его с помощью спец. инструментов: https://ocomp.info/onlayn-antivirusyi.html#___URL
ШАГ 3: как установить драйвер, если нет исполняемого файла setup.exe / install.exe
❶ Если драйвер запакован в архив ZIP, RAR и пр.
Извлечь файлы / Кликабельно
❷ Если исполняемого файла setup.exe нет
Диспетчер устройств — обновить драйвер
Выполнить поиск драйверов на этом компьютере
Поиск драйвера на этом компьютере
Далее Windows проверит папку и предложит выбрать драйвер для установки. В общем-то, осталось только дождаться окончания установки.
Выбор драйвера для этого устройства
Если вышеприведенный алгоритм вам показался сложным — попробуйте автоматический вариант поиска и установки драйверов. Для этого необходимо использовать спец. утилиты. О них я рассказывал в этой статье: https://ocomp.info/update-drivers.html
Как подписать драйвер в Windows x64 10/8.1/7 с помощью самоподписанного сертификата
Все 64 битные версии Windows, начиная с Windows 7, по умолчанию запрещают установку драйверов устройств, которые не подписаны с помощью корректной цифровой подписи. Неподписанные драйвер блокируются операционной системой. Наличие цифровой подписи гарантирует (в какой-то мере), что драйвер выпущен конкретным разработчиком или вендором, а его код не был модифицирован после того, как он был подписан.
В Windows 10/7 x64 существует несколько способов отключить проверку цифровой подписи устанавливаемого драйвера: с помощью групповой политики или тестового режима загрузки системы (подробнее все способы описаны в статье Отключаем проверку цифровой подписи для установки неподписанных драйверов в Windows).
Сегодня мы покажем, как можно самостоятельно подписать любой неподписанный драйвер для 64 битной версии Windows 10 или Windows 7.
Предположим, что у нас имеется драйвер некого устройства для x64 Windows 10 или Windows 7, у которого отсутствует цифровая подпись (в нашем примере это будет драйвер для довольно старой видеокарты). Архив с драйверами под нашу версию Windows (мне удалось найти драйвер для Windows Vista x64) был скачан с сайта производителя и его содержимое распаковано в каталог c:\tools\drv1\. Попробуем установить драйвер, добавив его в хранилище драйверов Windows с помощью стандартной утилиты pnputil.
Pnputil –a «C:\tools\drv1\xg20gr.inf»
В процессе его установки Windows 7 отобразит предупреждение о том, что система не может проверить цифровую подпись данного драйвера.
В Windows 10 такое предупреждение даже не появляется, а в консоли появляется предупреждение, что в стороннем INF файле отсутствует информация о цифровой подписи.
При попытке установить драйвер из проводника Windows, если вы щелкните ПКМ по inf файлу драйвера и выберите Install / Установить появится ошибка:
The third-party INF does not contain digital signature information.
INF стороннего производителя не содержит информации о подписи.
Попробуем подписать данный драйвер с помощью самоподписанного сертификата.
Утилиты, необходимые для подписывания драйвера
Для работы нам понадобится скачать и установить (с настройками по умолчанию) следующие инструменты разработчика приложений для Windows.
Создаем самоподписанный сертификат и закрытый ключ
Создадим в корне диска каталог C:\DriverCert.
Откроем командную строку и перейдем в следующий каталог:
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\bin
Создадим самоподписанный сертификат и закрытый ключ, выданный, допустим, для компании Winitpro:
Во время создания утилита попросит указать пароль для ключа, пусть это будет P@ss0wrd.
На основе созданного сертификата создадим публичный ключ для сертификата издателя ПО (PKCS).
cert2spc C:\DriverCert\myDrivers.cer C:\DriverCert\myDrivers.spc
Объединим публичный ключ (.spc) и персональный ключ (.pvk) в одном файле сертификата формата Personal Information Exchange (.pfx).
Затем нужно экспортировать данный сертфикат в pfx файл с паролем:
Генерируем CAT файл драйвера
Создадим каталог C:\DriverCert\xg и скопируем в него все файлы из каталога, в который первоначально был распакован архив с драйвером (c:\tools\drv1\). Убедить что среди файлов имеются файлы с расширением .sys и .inf (в нашем случае xg20grp.sys и xg20gr).
Перейдем в каталог:
inf2cat.exe /driver:»C:\DriverCert\xg» /os:7_X64 /verbose
Чтобы убедитесь, что процедура прошла корректно, проверьте, что в логе присутствуют сообщения:
Signability test failed.
22.9.7: DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS) in \hdx861a.inf
Для исправления ошибки нужно в секции [Version] найти строку с DriverVer= и заменить ее на:
После выполнения команды в каталоге драйвера должен обновиться файл g20gr.cat
Подписываем драйвер самоподписанным сертификатом
Перейдите в каталог:
cd «C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64»
Подпишем комплект файлов драйвера созданным нами сертификатом, в качестве сервиса таймстампа (штамп времени) воспользуемся ресурсом Globalsign. Следующая команда подпишет CAT файл цифровой подписью с помощью сертификата, хранящегося в PFX-файл, защищенном паролем.
signtool sign /f C:\DriverCert\myDrivers.pfx /p P@ss0wrd /t http://timestamp.globalsign.com/scripts/timstamp.dll /v «C:\DriverCert\xg\xg20gr.cat»
Если файл подписан успешно, должна появится надпись:
Successfully signed: C:\DriverCert\xg\xg20gr.cat
Number of files successfully Signed: 1
SignTool verify /v /pa c:\DriverCert\xg\xg20gr.cat
Лидо в свойствах файла на вкладке Digital Signatures.
CAT файл содержит цифровые подписи (отпечатки / thumbprints) всех файлов, которые находятся в каталоге драйвера (файлов, которые указаны в INF файле в секции CopyFiles). Если любой из этих файлов был изменен, то контрольная сумма файлов не будет совпадать с данными в CAT файле, в результате установка такого драйвера закончится ошибкой.
Установка сертификата
Т.к. созданный нами сертификат является самоподписанным, система по-умолчанию ему не доверяет. Добавим наш сертификат в локальное хранилище сертификатов. Сделать это можно с помощью команд:
Или из графического мастера добавления сертификатов (сертификат нужно поместить в хранилища Trusted Publishers и Trusted Root Certification Authorities локальной машины). В домене вы можете централизованно распространить этот сертификат на рабочие станции с помощью групповой политики.
Установка драйвера, заверенного самоподписанным сертификатом
Попробуем еще раз установить подписанный нами драйвер, выполнив команду:
Pnputil –i –a C:\DriverCert\xg20\xg20gr.inf
Теперь в процессе установки драйвера, окна-предупреждения об отсутствующей цифровой подписи драйвера не появится.
Successfully installed the driver on a device on the system.
Driver package added successfully.
В Windows 7 появляется такое предупреждение. о том, уверены ли вы, что хотите установить этот драйвер (в Windows 10 x64 1803 такое всплывающее окно не появляется). Нажав «Install», вы установите драйвер в системе.
Если по каким-то причинам драйвер не устанавливается, подробный лог установки драйвера содержится в файле C:\Windows\inf\setupapi.dev.log. Этот лог позволит вам получить более подробную информацию об ошибке установки. В большинстве случаем возникает ошибка «Driver package failed signature validation» — скорее всего это означает, что сертификат драйвера не добавлен в доверенные сертификаты.
Если установка драйвера прошла успешно, в файле setupapi.dev.log будут примерно такие строки:
Как вы видите, для установки самоподписанного драйвера нам даже не пришлось отключать проверку цифровой подписи драйверов с помощью bcdedit.exe, как описано здесь (команды bcdedit.exe /set loadoptions DISABLE_INTEGRITY_CHECKS и bcdedit.exe /set testsigning ON ).
Не работает! Подписываю драйвер, в его свойствах значится, что он подписан — но при установке Винда говорит: ошибка 52, не могу проверить цифровую подпись. Если б подписывание можно было так легко обойти — кто б тогда заносил бы M$ денежки за подписи?
Попробовал. Получилось отлично. У драйвера показывает цифровую подпись. Установилось через devcon без всяких всплывающих окошек.
Через pnputil тоже нормально.
Спасибо за мануал. Успешно подписал TAP драйвер к OpenVPN. Ставится без проблем
Это боты-накрутчики успешно установили? Только что сделал всё по инструкции с точностью до символа: ошибка 52. Либо у людей винда 32-битная, либо TESTSIGNING включен. Либо боты-накрутчики.
Как связаться с автором статьи? Очень нужно. Не получается, а очень нужно… [URL=http://fastpic.ru/view/59/2015/0214/5ceb244614504aae1dd1d1fe8e607b6f.png.html][IMG]http://i59.fastpic.ru/thumb/2015/0214/6f/5ceb244614504aae1dd1d1fe8e607b6f.jpeg[/IMG][/URL]
кто встретился с проблемой установки SDK, удалите MS Visual C ++ 2010 года, как и 32 так и 64 битную версии
Точнее, проблема в VC++ 2010 Redistributable!
Их можно смело удалить — SDK поставит свои.
Спасибо большое! Наконец-то установил драйвер к своему «любимому» PROTOSS AVR910.
Просто сказочное пособие.
Руслан, расскажите, как получилось (если ещё в памяти свежо). У меня драйвер отлично установился по этим рекомендациям, но с AVR910 ошибка 43 (недопустимый дескриптор usb конфигурации. Windows10.
Здравствуйте.
Сделал всё по инструкции, в свойствах драйвера числится, что он подписан. Сертификаты установил в указанное инструкцией место.
Но при попытке установить драйвер, система отображает предупреждение о том, что не может проверить цифровую подпись данного драйвера. В итоге ошибка 52.
Переустановил сертификаты с помощью «certmgr.exe», вчера делал это через «графический мастер добавления сертификатов». Красное окошко появляться перестало, но в диспетчере устройств всё равно ОШИБКА 52.
Пожалуйста, помогите решить проблему.
Ребята никто не поможет подписать драйвер для телефона FLY IQ436? Самому повторить вышеописанную процедуру слишком сложно! Помогите пожайлуста в СКАЙПЕ Я PatronDragon.
Дохожу до пункта На основе inf файла сгенерируем для нашей платформы cat файл (содержит информацию о всех файлах пакета драйвера). и не знаю какой файл у себя выбрать!? Какой не беру всё равно пишет does not exist! ЧТО ДЕЛАТЬ?
У меня в папке с моим драйвером нет файла inf! Что делать?
Без inf файла у вас ничего не получится, т.к. в именно в нем описывается порядок установки и структура исполняемых файлов драйвера. Посмотрите, возможно он у вас в каком-нибудь архиве лежит (rar, zip, cab)
А сам автор статьи пробовал данный алгоритм?
Уж слишком он непростой, а впустую не хотелось бы всё это проделать…
Послушайте, люди, не имея цифровой подписи — невозможно подписать драйвер, чтобы он нормально устанавливался! Винда признает лишь драйвер, подписанный с помощью цифровой подписи, и то не всякой — а лишь выданной центром сертификации, кросс-сертификат которого входит в дистрибутив Виндов. И всё. Механизм там заложен такой. Никакие другие танцы с бубнами не канают, пустая трата времени. Помучавшись и убедившись в этом — пошёл и купил цифровую подпись для подписывания драйвером у GoDaddy, у них дешевле всего, 8 тыр за год. И могу целый год подписывать свои драйверы, хоть для Win7 64-битной, хоть для Win10 (потому что будет и SHA1, и SHA2).
Подписал, теперь устанавливаются в любую Винду.
Хм, зачем тогда авторы пишут такие статьи?
Если купить цифровую подпись на год, то что станет с подписанными ей драйверами через год?
Они перестанут действовать или нет?
Или год — это только срок действия подписи, а всё ей подписанное действует бессрочно?
Подписанное — бессрочно. Год — срок действия ЦП, подписывать можно в течении года.
Зачем пишут такие статьи… сложно сказать. Возможно, на именно семёрке, в дебаг-режиме, чисто для себя — оно и прокатит (хоть у меня и не заработало). Но для себя можно и по F8 грузиться, отключая проверку ЦП! А чтобы устанавливалось нормально на всех весиях ОС, включая 10ку — лучше подписать. Уж коммерческий продукт — точно!
Я написал свой WDF драйвер и подписал его с помощью этого мануала, за что огромное спасибо написавшему! Написал инсталлятор на wix и дрова прекрасно ставятся на x64 Винду 10.0 без включения тестмода и проверки подписей, даже предупреждение не отображается. С другой стороны 8000 это не деньги, конечно, для фирмы средней руки
Добрый день.
Перейду сразу к делу. Есть патченный драйвер х64 программы Shadow Defender — изменены пути хранения данных. Необходимо его подписать валидной подписью для Windows 7 x64. Для других систем не нужно. Да и вообще будет использоваться только в своей системе. Не для продажи распространения далее. Драйвер бут режима. Сам разработчик на связь не выходит, а очень нужно. Драйвер используется в интернет-кафе с 2014 года с включенным тестовым режимом для цифровой подписи. Но блин с недавнего времени античиты для игр стали ругаться на включенный тестовый режим.
Подскажите пожалуйста наиболее дешевый способ подписать этот драйвер. Подойдет даже чтоб кому-то его выслал и тот чел подписал своим сертификатом. Главное чтоб 7ка его признавала любым способом но без включения тестового режима.
Всё, похоже GoDaddy прикрыли лавочку продажи сертификатов подписи кода и драйверов. Вот что на сайте у них:
С 1 июня 2021 года GoDaddy больше не будет выдавать и продлевать сертификаты подписи кода и драйверов. Если у вас уже есть сертификат подписи кода или драйвера, вы не сможете повторно создать его ключ после 1 июня 2021 года. Все сертификаты, выданные до 1 июня 2021 года, будут действительны до истечения их срока действия
Как раз алгоритм подписывания в статье расписан верно, этим она ценна.
Сначала, с помощью утилиты inf2cat порождается cat-файл. Он пока без подписей, но содержит хэши всех файлов, входящих в состав драйвера.
А потом этот cat-файл подписывается утилитой signtool! Но при этом мы предъявляем не самопальный pfx, а полученный от GoDaddy pfx! Точнее, они дают другие файлы, из которых формируется pfx. Тут пришлось помудохаться, их техподдержка некомпетентна и бесполезна (зато цены низкие — как-то это, наверное, связано? 😉 Но в конце-концов разобрался.
Да, это возможно. Среди прочего, я так и делал, для драйвера PCI-контроллера PLX9054 — взял подписанный драйвер из SDK, и сделал к нему свои inf и cat.
Сергей, Вы получили сертификат с алгоритмом хеширования подписи SHA1, SHA2 или с SHA256?
Надо ли на винду ставить какие-то апдейты или пэтчи, чтобы подписанные драйверы не выдавали ошибку 52?
SHA1 и SHA2. Подписал с использованием SHA2, чтобы и Win10 охватить. По идее, Win7 должна понимать SHA2 только после патча, в реальности же на Win7 x64 драйвер встаёт (что без подписи невозможно), но Винда говорит, что подписи нет 🙂
Сергей, я могу обратить к Вам за помощью. Вы бы не смогли подписать всего один драйвер. Я бы Вам мог их скинуть на почту. Если сможете помочь прошу отзовитесь. Был бы Вам очень признателен!
Если бы это был мой личный сертификат — мог бы. Но он принадлежит компании, так что увы… Советую вам получить свой сертификат — это не так долго и сложно, как кажется!
А на 32 битной Windows 7 можно как-то подписать драйвер?
Сам отвечу, можно, на процессе создание cat файла нужно записать не x64, a x86. Спасибо, инструкция рабочая
ЗЫ: Моя подпись действительна, проверял…
exe и dll подписываются норм., так же, подписываются драйверы, которые писали сами, без проблем… а, чужие дрова — никак…
Я так и сделал, правда сначала получил какую-то ошибку, исправил, и второй раз все получилось.
Спасибо, отличная статья, подписал драйвер для эмулятора юсб ключей, теперь отлично ставятся на вин10 и вин2016, не смотря на то что все утилиты после установки лежат в совершенно других каталогах и их пришлось искать поиском, и еще в статье ошибка — создается каталог с дарйвером c:\DriverCert\Crystal, а все команды обращаются к другому каталогу c:\DriverCert\xg
Внимательнее, кто будет пользоваться.
Спасибо за отзыв! Поправил путь
Для того, чтобы драйвер был загружен на Vista-64 и выше, а также на
Windows 8 и выше в режиме Secure Boot, вне тестовых режимов и т.п.,
он должен быть подписан, причем в подписи обязательно должен быть
соответствующий кросс-сертификат от Microsoft. Таких кросс-сертификатов
существует всего порядка 20, каждый для конкретной конторы, которая
продает сертификаты — Symantec, Thawte, GlobalSign, DigiCert и т.п.
Если у вас самопальный сертификат, созданный каким-нибудь makecert.exe,
то к нему просто не существует кросса. И система такой драйвер загружать не будет.
Существует лишь 4 легальных способа загрузки драйвера на обозначенных системах:
1) Подписать драйвер настоящим сертификатом, купленным у одной из организаций типа Symantec
(с кросс-сертификатом)
2) Загружать систему в тестовом режиме, используя самопальный сертификат.
3) Нажимать при загрузке F8 и отключать проверку цифровых подписей.
4) Перевести систему в режим отладки и загружать ее с подключенным отладчиком ядра (например, WinDBG).
Других путей нет (ну если только не считать всякие там патчи ядра, уязвимости и т.п.).
Авторы этой статьи и комментаторы гонят гон. Просто из-за сложности проверки написанного создаётся иллюзия, что кто-то тут что-то сумел сделать. Если бы оно было так, тысячи пользователей не покупали бы себе право подписывать драйвера, а деньги там — немаленькие. Да и создатели вирусов бы подписывали этой ерундой самопальной свою вирусню спокойно.
Боже… Сколько жопной боли…. И ради каких-то пары строчек, с помощью которых, «злоумышленники» совершенно другими путями, всё-равно, стабильно ломают системы…. Микрософт……
Всё получилось. Инструкция рабочая.
Ставил драйвер на Win10 x64 pro.
Была ошибка
Errors:
22.9.4: Missing AMD64 CatalogFile entry (CatalogFile.ntamd64, CatalogFile.nt, CatalogFile) from [Version] section in \xxx.inf
Но она легко правиться
Вставить строку: CatalogFile=xxx.cat
в inf файле в блоке [Version] можно внизу.
Пути SDK естественно менять под свои.
Сделал все как описано. Подписал драйвер старого оборудования для сетевой карты. Все работает на сервер 2012 r2 без тестового режима.
Отличная статья, получилось сделать на Windows server 2012.
Проблемы возникли такие:
22.9.4: Missing 32-bit CatalogFile entry (CatalogFile.ntx86, CatalogFile.nt, CatalogFile) from [Version] section in \skeyusb.inf
но все решил добавлением в файл inf строчки CatalogFile(или разкоментированием).
даже установка сертификата на сервер не нужна была. Спасибо огромное. Как вы это придумываете))
Решил разобраться в технологии сертификации. Второй день читаю горы материала в интернете и нигде нет простого и четкого объяснения, как Windows работает с цифровыми подписями и сертификатами. Что с чем сравнивается и когда? Везде куски специальной информации или бесконечные переписывания одних и тех же вещей. Ощущение, что никто до конца не понимает этой темы.
потому что это секрет Майков
Done Adding Additional Store
SignTool Error: The specified timestamp server either could not be reached or
returned an invalid response.
SignTool Error: An error occurred while attempting to sign: C:\DriverCert\xg\gn246hl.cat
может кто встречался с такой проблемой?
пишет что сервер временной метки дает неправильный ответ