2011-02-08 2 views
14

Я изучаю разработку драйвера режима ядра Windows. Я написал небольшой тестовый драйвер, который я могу успешно зарегистрировать, отменить регистрацию, загрузить и выгрузить под версией Windows 7 32bit Ultima, запущенной под виртуальной машиной в VirtualBox.Вариант загрузки Windows7, позволяющий игнорировать неподписанные драйверы

Мой хост - Windows 7 64bit Home Premium edition.

Драйвер, скомпилированный для 64 бит, не загружается под Windows 7 Home edition. Я продолжаю получать отказ, заметив, что эта версия Windows не позволяет использовать неподписанные драйверы.

Я пробовал две вещи:

  1. я использовал вариант загрузки F8, чтобы неподписанные драйвера (не работают)

  2. Я бег CMD от имени администратора и выполнить после двух команд

    Bcdedit.exe -SET LoadOptions DDISABLE_INTEGRITY_CHECKS

    Bcdedit.exe -set TESTSIGNING ПО

и перезагружены. Мой рабочий стол показывает мне в «TestMode», но все же я получаю такое же отклонение.

Может ли кто-нибудь помочь мне здесь или объяснить, есть ли дополнительный шаг для Домашнего издания?

---- {update} ---- После заливки тонны материалов MSDN оказалось, что мое решение заключается в самоподписывании созданного мной драйвера. У загруженного DDK не существует цепочки инструментов для самостоятельной подписи. Я загрузил WinDDK-7600.16385.1. Но что странно, так это то, что мой Windows Ultima Edition с удовольствием загружает мой драйвер, если я просто загружаю F8 @ и говорю, чтобы он позволял беззнаковым драйверам.

+0

OT:

+1

Поверьте мне, Натан, в офисе, где я работаю Я называюсь фанатом Linux (не зря) этот пост и мое разочарование в продуктах Microsoft помогают только моему делу. Таким образом, я в настоящее время изучаю разработку драйвера режима ядра Windows для проекта, который нуждается в поддержке ОС Windows в виде драйвера ядра. У нас есть настраиваемое аппаратное устройство, с которым мы обмениваемся данными через USB, что нам нужно передавать данные слишком непрерывно с точными интервалами. Использование окон и таймерных очередей недостаточно для наших нужд. Любые побочные мысли об этом приветствуются! – Eric

+0

http://stackoverflow.com/questions/84847/how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows –

ответ

6

Вы можете попробовать Driver Signature Enforcement Overrider. Он поддерживается в 64-разрядных версиях Windows 7 и сообщает, что я видел, что он действительно работает над выпуском «Home Premium».

          Driver Signature Enforcement Overrider screenshot

  1. Скачать приложение по ссылке ниже. Щелкните правой кнопкой мыши по нему, а выберите «Запуск от имени администратора». В главном меню нажмите на кнопку «Включить « Тест-режим »и следуйте инструкциям на экране . Это будет включить режим TESTSIGNING, который позволяет загружать непроверенные системные файлы .

  2. Теперь все, что вам нужно сделать, - это добавить непроверенную подпись к требуемым системным файлам . Для этого нажмите на кнопку «Подписать системный файл» из главного меню и введите конкретное имя файла , включая полный путь. Для примера : если ATITool64.sys from C: \ Windows \ System32 \ драйверы отказываются от загрузки из-за подписи драйвера принудительного исполнения, вы должны ввести: «C: \ Windows \ System32 \ drivers \ ATITool64.sys», и если вы хотите подписаться больше , чем один файл, просто повторите эту процедуру , пока вы не закончите, и , наконец, перезагрузитесь.

После включен режим тестирования и добавил подписей к требуемой системе файлов, они должны обойти драйвер исполнение подписи Windows и впоследствии загружен без каких-либо проблем. Однако если для вас интересует , верните его, вы можете повторно запустить приложение , выберите «Отключить тест Режим» в главном меню и перезагрузитесь. Если у вас возникли проблемы или у вас есть вопросы , не стесняйтесь публиковать его на наших форумах .

Примечание: DSEO требует административных полномочий (Запуск с правами администратора).

Он даже позволяет удалять водяной знак со своего рабочего стола!

+1

Я знаю, я наткнулся на эту утилиту, но я didn Не доверяйте ему, потому что веб-сайт, на котором я его видел, имел ушные метки сайта, загруженного вирусами, а что нет ... Я могу использовать его в качестве последнего средства. Я не могу найти ничего на MSDN. Я также повторил шаги в своем посте с TESTSIGNING OFF и все еще не работал. Я хотел бы найти «правильный» способ сделать это раньше, а также понять, почему Home Edition, по-видимому, заблокирован. – Eric

+0

@ Эрик: Да, вы не найдете его на MSDN. Это официально ** не поддерживается ** в «Домашних» изданиях. Этот сайт не выглядит слишком отрывочным для меня, а утилита хорошо поддерживается/просматривается через Интернет. Я не уверен, что смогу дать вам ответ * почему * «Домашние» издания заблокированы, но я полагаю, это потому, что они могут быть. Типичный домашний пользователь не занимается разработкой драйверов и поэтому не нуждается в этой функции. Разрешить это - возможное отверстие безопасности, и люди стали требовать в течение многих лет, что безопасность Windows отстой. Никто никогда не был счастлив. –

+0

, когда вы говорите «официально не поддерживается», можете ли вы предоставить ссылку на сайт Microsoft с этой целью? Я склонен полагать, что вы принимаете это как ответ, но ищете немного более «официальных» слов. К вашему моменту о выпуске Home Edition, который использовался для разработки, ноутбук был приобретен с этой версией Windows, предварительно загруженной по цене закрытия, поэтому обновление до PRO влечет за собой предоставление M $ more $$, что кажется немного смешным для всего, что я использую для этого компьютера для (что не требует PRO). Нужно ли мне PRO для разработки драйверов, должно быть, вопрос, не так ли? – Eric

4

Вам не нужно использовать этот инструмент. Просто проверьте знак с вашим личным сертификатом с помощью указателя в DDK.

+2

** makecert ** + ** signtool ** + экспортировать сертификат в формат .PFX и добавить сертификат в Windows. – gavenkoa

+0

Статья Technet по [подписанию пакета драйверов] (http://technet.microsoft.com/en-us/library/dd919238 (v = ws.10) .aspx). Вам понадобится как DDK, так и SDK, чтобы получить все инструменты. –