Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/205: Рейтинг темы: голосов - 205, средняя оценка - 4.59
Заблокирован

Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)

19.03.2015, 01:49. Показов 40546. Ответов 121
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Совсем хорошо будет, если этот драйвер будет еще и делать что-то хоть как-то заметное юзером
И совсем замечательно, если будет еще и вкратце объяснено, как его установить на обеих ОС

P.S. Да-да, драйвер мне нужен на губозакаточную машину я хочу многого и притом на халяву. Но вы же с чего-то начинали? Писали, так сказать, helloworld.sys? Вот им и поделитесь. А то в инете везде либо не поймешь как компилировать, либо не поймешь чем компилировать, либо вообще ничего не поймешь

Добавлено через 43 секунды
И да, можно в принципе и не VS 2008, а что-то еще, хоть MinGW. Только тогда попрошу пояснить, какая у вас версия того компилятора и как его юзать.

Добавлено через 1 минуту
VS только Express, так что VisualDDK, к сожалению, никак не пойдет...
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2015, 01:49
Ответы с готовыми решениями:

Как установить Windows 10 x64 (после обновления с Win 7 x86 до Win 10 x86) сохранив лицензию
Вопрос такой. У меня стояла седьмая 32-ух битная винда. Но процессор 64 разрядный. Так вот, я обновился до десятки, которая тоже 32-ух...

X86 и x64 в Visual Studio 2017
Здравствуйте! Во общем мне очень интересно есть ли разница если компилировать в x86 и x64, будет ли не работать x86 на x64 и т.д?

Разработка драйвера в Visual Studio 2008
Здравствуйте! На компьютере установлена Visual Studio 2008 и WDK. Я в Visual Studio написал небольшой драйвер, в Visual Studio он...

121
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
03.05.2016, 21:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Alex_86a Посмотреть сообщение
как быть, если файл никак не появляется, когда пишу название файла и команду билд
А можно детальнее описать процесс?
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
03.05.2016, 21:59
Я делаю всё, как было написано вами, но когда выполняю команду build, нет никаких ошибок, и сразу открывается этот файл в Visual Studio 13, а в папке с этими файлами не появляется файл .sys
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
03.05.2016, 22:08
Alex_86a, а ты консоль открываешь из Build Environment?
Вместо build попробуй написать build.exe.
Вообще, неплохо бы логи сборки глянуть, т.е. что выводится на консоль в
результате выполнения команды build, ну или хотя бы скриншот какой...
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
03.05.2016, 22:13
Вот. Пока не пойму, что я делаю не правильно
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.05.2016, 11:35
А зачем ты пишешь в начале строки 'DriverMain.c'?
Конечно же, это не нужно. Просто build, жми 'Enter' и все.
1
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
04.05.2016, 12:19
Понял, спасибо, а теперь вот появился в папке с файлами только блокнот, его содержание на скрине. А в папке винддк появился вот такой файл build формата Фильм Video CD (.dat)
Или на эти примеры майкрософта такой способ компиляции не действует?
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.05.2016, 13:47
Покажи свои файлы makefile и sources.
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
04.05.2016, 19:33
Там в папке на скрине, всё, что есть, это я скачал на Гитхабе семплы драйверов майкрософт, а оно как написано везде успешно собрано, но файла не появилось, может нужен какой-нибудь другой способ компиляции?
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
04.05.2016, 19:54
А как разобраться в чем ошибки? Перевести - перевел, но где искать ошибку так и не понял...
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.05.2016, 21:51
Цитата Сообщение от Alex_86a Посмотреть сообщение
это я скачал на Гитхабе семплы драйверов майкрософт
Эти сэмплы собираются только новыми версиями WDK.
Старые я выкладывал здесь в одном архиве:

Документация и загрузки для разработчика драйверов
1
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
07.05.2016, 17:59
А ещё такой вопрос: Поставлена задача, вот дословно её объяснение.
т.е. сделать драйвер- программу которая могла по запросу другой программы проверять можно запускать или нет. вы запускаете программу, программа при запуске запускает функцию проверки- можно запускаться или нет. Эта функция реализована через "драйвер защиты". - который надо сделать
На вопрос, каким образом осуществлять проверку был такой ответ:
проверять есть флешка с ключом или нет
или можно пароль с клавиатуры вводить - только обрабатывать через драйвер.


Просто больше уточнить или попросить объяснить нет никакой возможности уже, а я не пойму, что вообще требуется от меня, ну в целом понимаю, но мало конкретики для меня, что конкретно нужно сделать, что такое флешка с ключем тоже не пойму пока. Может вы, как знающий человек объясните мне, что конкретно нужно сделать?
Заранее спасибо
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
07.05.2016, 22:40
Alex_86a, надо спрашивать у тех, кто ставил задачу.
Ничего зазорного в том, чтобы выуживать необходимые для реализации детали, нету,
это нормальный процесс. Без этого есть большой риск пойти туда, куда не надо, и
сделать не то, что хотели.
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
08.05.2016, 19:42
Та просто нет возможности спросить, уточнить. Но в моём понимании, да и спрашивал у других людей, объяснили так же. нужно сделать вот что: Написать драйвер, при запуске который будет проверять есть ли на флешке определенный файл(ключ). Если его нет, то выдает сообщение, что нельзя запустить, если есть, то можно.

Добавлено через 53 минуты
Подскажите, может вы знаете, а у майкрософта там есть сэмплы, в которых монитроинг юсб устройств делается, ну с помощью которого можно проверить, есть ли на флешке файл
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.05.2016, 09:17
Цитата Сообщение от Alex_86a Посмотреть сообщение
Написать драйвер, при запуске который будет проверять есть ли на флешке определенный файл(ключ). Если его нет, то выдает сообщение, что нельзя запустить, если есть, то можно.
Перехватывай запуск процесса - PsSetCreateProcessNotifyRoutine.
При запуске определяй, есть ли файл на флэшке. Для этого можно использовать ZwCreateFile,
только дергать эту функцию не из нотификатора, а в отдельном потоке или внутри work item,
потому что на время вызова нотификатора отключена доставка APC и с файлами могут
быть проблемы. Далее, если файла нет, сразу делай ZwTerminateProcess.
На Vista SP1 и выше можно использовать PsSetCreateProcessNotifyRoutineEx и вместо
ZwTerminateProcess просто возвращать подходящий код ошибки.

Цитата Сообщение от Alex_86a Посмотреть сообщение
Подскажите, может вы знаете, а у майкрософта там есть сэмплы, в которых монитроинг юсб устройств делается, ну с помощью которого можно проверить, есть ли на флешке файл
Чтобы проверить наличие файла, не обязательно связываться с USB.
Флэшка ведь видна в системе, как обычный диск.
1
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
10.05.2016, 19:48
Поскажите, что за ошибки
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
10.05.2016, 21:32
Вот такая ошибка при нажатии кнопки старт
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.05.2016, 10:50
Чем я могу помочь, если чужие исходники не компилируются или при
запуске выдают ошибку?

Драйверы разрабатывать - это целая наука, осваивается она очень постепенно и трудно.
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
11.05.2016, 19:26
А что если сделал, все как в первом сообщении данной темы, ну файл .sys появилася, дальше все ак же сделал, но при запуске такая вот ошибка
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 38
11.05.2016, 19:30
А при запросе состояния вот выдает
Миниатюры
Нужен пример простейшего драйвера на C/C++. Visual Studio 2008/новее. Win 8 x64, можно и XP x86 (а лучше оба)  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.05.2016, 19:39
Цитата Сообщение от Alex_86a Посмотреть сообщение
при запуске такая вот ошибка
Какая?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2016, 19:39

User32.dll на Win x64 - это x86-библиотека, x64 или. и то и другое одновременно?
В проектах .NET функции из нее нормально импортируются при любой разрядности проекта - как x86, так и x64. Как написать такую библиотеку?

Установка Visual Studio 2008 на Windows 7 Professional x64 bit
Когда начинаю ставить визуал 2008 во время установки выбивает ошибку и дальше не продолжается, кто сталкивался может подскажете? Кроме...

Qt Creator & MS Visual Studio создание окна в Win 7 x64
Здравствуйте Нашел пример создания окна http://rastertek.com/gl40tut02.html все исходники и хедеры поместил в проект, созданный в Qt...

Win API в Microsoft Visual Studio 2008
Здравствуйте, уважаемые форумчане! Возникла такая проблема. Пишу простенькую программу с применением Win API, но компилятор ругается(( ...

Не ставится Win 7 x86 и Win 7 x64 на GPT раздел жесткого диска
Как пере конвертировать GPT в MBR без потери данных? или как установить Win 7 x86 на GPT, или Win 7 x64 ? У меня обе винды не ставится на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru