Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны. DDK какой нужен?
Здравствуйте, Crackjack, Вы писали:
C>Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны. DDK какой нужен?
DDK для Windows Server 2008 (последний, поддерживает win2000 и выше) можно скачать с сайта MS, если добавить участие в Windows Driver Kit and Windows Logo Kit Program (бесплатно). http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx
Компиляция происходит через BUILD утилиту из DDK. Но можно настроить студию.
Сам пользуюсь студией, настроенной на использование ddkbuild от OSR (http://www.osronline.com/article.cfm?article=43, хелп по использованию можно найти в одной из статей на OSR).
Здравствуйте, Crackjack, Вы писали:
C>Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны.
Теория: М. Румминович, Д. Соломон Внутреннее устойство Microsoft Windows...
Практика: http://wasm.ru/series.php?sid=9 ну и вообще wasm.ru почитай статейки, пользительно. Можно так же глянуть rootkit.com и rootkits.ru, на последнем есть возможность скачать архив со статьями по разработке драйверов.
По настройкам IDE: http://www.hollistech.com/Resources/ddkbuild/ddkbuild.htm и там же описание C> DDK какой нужен?
а под какую ОС писать собираетесь? Вообще в DDK 2003 есть возможность под 2000 — 2003.
Здравствуйте, Crackjack, Вы писали:
C>Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны. DDK какой нужен?
В ddk есть свой компилятор и настравать его не надо. DDK выбирать надо в зависимости от того что вам надо. Можете скачать WinDDK 1.0.6001.100 должно хватить.
А начать луче с покупки хорошей книги, например Солдатова.
Здравствуйте, Anatoliy.Sviridenkov, Вы писали:
AS>Здравствуйте, Crackjack, Вы писали:
C>>Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны. DDK какой нужен?
AS>В ddk есть свой компилятор и настравать его не надо. DDK выбирать надо в зависимости от того что вам надо. Можете скачать WinDDK 1.0.6001.100 должно хватить.
С сайта МС (не через платную MSDN подписку) можно скачать только один DDK, тут выбора нет =)
[Windows Server 2008 RTM WDK — Version#: 6001.18000.080118-1840 (02/04/2008)]
Он обратно совместим со всеми виндами, начиная с Win2000, и отличается от пердыдущих версий DDK подчищеными багами.
AS>А начать луче с покупки хорошей книги, например Солдатова.
Насчет хорошей книги согласен, насчет того что солдатов — хорошая книга — нет.
У нас на 3м курсе одна из лаб по переферийным устройствам — исправить драйвер Солдатова, чтоб работал по-человечески (ЗЫ Привет Михаил Викторовичу, если сейчас он читает это сообщение =)
Плюс очень много опечаток. Да и WDF уже шествует по Земле. WDM драйвера более сложны и низкоуровневы. Насколько я могу судить по действиям МС, WDM драйвера будут потихоньку вытесняться KMDF и UMDF.
Здравствуйте, FallenGameR, Вы писали:
FGR>Насчет хорошей книги согласен, насчет того что солдатов — хорошая книга — нет. FGR>У нас на 3м курсе одна из лаб по переферийным устройствам — исправить драйвер Солдатова, чтоб работал по-человечески (ЗЫ Привет Михаил Викторовичу, если сейчас он читает это сообщение =) FGR>Плюс очень много опечаток. Да и WDF уже шествует по Земле. WDM драйвера более сложны и низкоуровневы. Насколько я могу судить по действиям МС, WDM драйвера будут потихоньку вытесняться KMDF и UMDF.
FGR>Если интересуют именно WDM драйвера, то могу посоветовать http://www.amazon.com/Programming-Microsoft-Windows-Driver-Model/dp/0735605882
Я бы с вами согласился если не тема письма. Для новичков я считаю Солдатов лучше чем Oney. По-русски, из книг на великом и могучем она одна из самых лучших. Объяснено шаг за шагом, откройте, выберите, закройте ... можно смело было ее называть "драйвера для чайников". Ну а ошибки и опечатки ... это такое дела. Вон их сколько в MSDN и ничего, его пока отменять никто не собирается.
Здравствуйте, Crackjack, Вы писали:
C>А как с одладкой быть. Говорят, что по COM-портам нужно компьютеры связывать для отлаки. На этот вопрос, где можно прочитать.
Можно и на том же компьюторе отлаживать. Лучше всего установить виртуальную машину (например VMWare) драйвер запускать под ней, а отладчик на прямую.
Читать лучше доки в DDK, там все написано, и про отладку и про многое другое.
Правила форума нарушены.
— оверквотинг
Правила можно найти в разделе FAQ данного форума и\или ресурса.
Нарушение правил может повлечь за собой санкции, описанные там же — модератор
AS> Я бы с вами согласился если не тема письма. Для новичков я считаю Солдатов лучше чем Oney. По-русски, из книг на великом и могучем она одна из самых лучших. Объяснено шаг за шагом, откройте, выберите, закройте ... можно смело было ее называть "драйвера для чайников". Ну а ошибки и опечатки ... это такое дела. Вон их сколько в MSDN и ничего, его пока отменять никто не собирается.
Да уж ) На безрыбье и рак рыба.
Что ж, возможно вы правы. Но если человек будет драйвера писать (да и вообще программы), английский все равно хочешь-нехочешь, а выучишь.
DDK те же никто переводить не собирается. Ну да, перевели саму студию. Но лично мне непонятно кто ей будет всерьез пользоваться.
В защиту МС могу сказать, что они свои баги все-таки закрывают )
Здравствуйте, Crackjack, Вы писали:
C>А как с одладкой быть. Говорят, что по COM-портам нужно компьютеры связывать для отлаки. На этот вопрос, где можно прочитать.
WinDbg отладчик работает по COM нуль-модему (еще продаются такие кабеля, точно говорю — купил недавно =), по FireWire (начиная c WinXP, кажется) и по USB нуль-модему (есть ли они в России вообще для меня загадка. Поддерживаются, кажется, только с Vista, но могу наврать).
Если нет еще одного компьютера, можно поставить виртуальную машину. На выбор — vmware, microsoft virtual PC, microsoft virtual server. Последние две бесплатны. vmware пошустрее работает и поддерживает 64 разрядные гостевые системы, но ИМХО нестабильна. По карйней мере на моем компьютере стабильно BSOD после установки vmware 6 любых разновидностей. И еще — если скомпилить семпл для фильтра клавиатуры и поставить его на vmware, отключатся мышь и клавиатура. Virtual PC/Server ведут себя корректно.
Настройка соединения WinDbg и виртуалки/другого компа описана в документации по WinDbg. Вкратце — настраиваешь COM порт виртуалки на Pipe, а winDbg ставишь слушать этот pipe.
Здравствуйте, FallenGameR, Вы писали:
FGR>Насчет хорошей книги согласен, насчет того что солдатов — хорошая книга — нет. FGR>У нас на 3м курсе одна из лаб по переферийным устройствам — исправить драйвер Солдатова, чтоб работал по-человечески (ЗЫ Привет Михаил Викторовичу, если сейчас он читает это сообщение =)
Мне кажется, ошибки в книгах автор допускает специально , чтобы обучающийся мог попотеть и усвоить материал. Просто преподы и писатели об этом не говорят и не афишируют.
Здравствуйте, Crackjack, Вы писали:
C>А как с одладкой быть. Говорят, что по COM-портам нужно компьютеры связывать для отлаки. На этот вопрос, где можно прочитать.
Здравствуйте, Crackjack, Вы писали:
C>А как с одладкой быть. Говорят, что по COM-портам нужно компьютеры связывать для отлаки. На этот вопрос, где можно прочитать. http://silverstr.ufies.org/lotr0/windbg-vmware.html
Здравствуйте, Crackjack, Вы писали:
C>Хочу научиться писать драйвера, но не знаю с чего начать. Подскажите где примеры по проще посмотреть, какие настройки для компилятора нужны. DDK какой нужен? Re[4]: Введение в разработку драйверов
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.