Страница 1 из 1
Написать драйвер самому
Добавлено: Ср авг 14, 2024 20:57:33
NikVE
Вот, есть интерес научиться писать драйверы для компьютера. Пробовал ли кто это делать? Есть ли простая литература "для чайников"?
Re: Написать драйвер самому
Добавлено: Ср авг 14, 2024 22:58:07
valentinovich
Вопрос более чем странный.
Вы умеете вообще писать хоть какие-то программы для компьютера?
Если да, то драйвер ничем от таковых не отличается.
Если нет, тогда есть смысл сначала научиться составлять логику желаемого процесса и далее уже просто научится писать программы, вот тогда теперешний ваш вопрос перестанет быть вопросом.

Re: Написать драйвер самому
Добавлено: Ср авг 14, 2024 23:16:12
Martian
но появится куча других )
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 12:02:42
Jack_A
[uquote="valentinovich",url="/forum/viewtopic.php?p=4615280#p4615280"]драйвер ничем от таковых не отличается[/uquote]
Отличается, даже очень. Он должен взаимодействовать: с операционной системой - раз, с железом - два. Поэтому надо до тонкостей знать структуру и того, и другого.
И к примеру, опытный программер с 10-летним стажем, нормально пишущий проги расчётные, статистические и пр. - не значит, что он тут же сядет и изваяет драйвер. Порог вхождения достаточно высок.
ТСу могу посоветовать: забей. Насовсем.
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 12:23:54
NikVE
Я могу на С++ написать "Привет мир". Еще разные там циклы и вводы/выводы. Не более...
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 12:25:28
Jack_A
Ну и достаточно
За драйвера не берись - надолго испортишь себе и окружающим настроение.
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 12:43:19
NikVE
Может быть есть какой-то ресурс для начинающих? Где с простых примеров можно начать?
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 14:40:17
Andrey_B
Создание драйвера будет происходить с помощью текстового редактора "Note Pad". Приступим к непосредственному написанию драйвера.
Пиши:
Код: Выделить всё
[VERSION]
ClASS=SYSTEM
SIGNATURE="$CHICAGO$"
PROVIDER=%PC%
SETUPCLASS=BASE
[ClASSINSTALL]
ADDREGPC
CLASSNAME="MOUSE PAD"
[MANUFACTURER]
%PC%=PC
[PC]
MOUSE PAD,,,,%CLASSNAME%
[STRINGS]
PC="XAKEP Magazine"
После того как ты все это проделал, сохраняй файл как pad.inf.
Далее заходи в "Мой компьютер", "Панель управления", жми "Установка оборудования", отказывайся от автоматического поиска устройств, выбирай из списка "Системные устройства", дальше "Установить с диска" и указывай путь к pad.inf.
Все самое сложное ты сделал!!! Теперь, чтобы увидеть, ради чего было потрачено столько усилий, зайди в "Мой компьютер", "Панель управления", "Система", "Системные устройства"... и ты увидишь, что у тебя поселилось новое устройство - "mouse pad"!
Re: Написать драйвер самому
Добавлено: Чт авг 15, 2024 18:44:39
Martian
хитро. тогда я тоже умею писать драйвера. Для Интеловских видеокарт (Интел предоставляет конструктор а-ля "визард")
Re: Написать драйвер самому
Добавлено: Вс авг 18, 2024 15:55:42
AL.EX
[uquote="NikVE",url="/forum/viewtopic.php?p=4615242#p4615242"]Вот, есть интерес научиться писать драйверы для компьютера. Пробовал ли кто это делать? Есть ли простая литература "для чайников"?[/uquote]
Попробуй покурить вот это, для начала ->
https://learn.microsoft.com/ru-ru/windo ... rst-driver
Re: Написать драйвер самому
Добавлено: Вс авг 18, 2024 17:05:28
HardWareMan
Для Windows, например, можно начать с DDK: Driver Development Kit. Существует своя версия под каждый номер Windows.
Re: Написать драйвер самому
Добавлено: Ср авг 21, 2024 16:34:17
Мурик
Может будет интересно
https://www.cyberforum.ru/blogs/204791/blog3078.html
Драйвер подписывать нужно, иначе винда не позволит его установить. Подпись стоит денег и требует юридическое лицо для регистрации.
valentinovich писал(а):Если да, то драйвер ничем от таковых не отличается.
Не совсем.
Приложения используют WinAPI, а драйверы - функции ядра. Это не одно и тоже.
В ядре ответственность гораздо выше. Если произойдет исключение, появится "синька".
Jack_A писал(а):Он должен взаимодействовать: с операционной системой
Точнее с ядром ОС.
Andrey_B писал(а):После того как ты все это проделал, сохраняй файл как pad.inf.
Это не драйвер.
Re: Написать драйвер самому
Добавлено: Ср авг 21, 2024 17:29:02
smacorp
Мурик, ТС говорил именно о Windows? Может он драйвер под OS/2 мечтает написать? Или там тоже приложения WinAPI используют?
Re: Написать драйвер самому
Добавлено: Ср авг 21, 2024 18:36:23
HardWareMan
[uquote="Мурик",url="/forum/viewtopic.php?p=4617924#p4617924"]
Andrey_B писал(а):После того как ты все это проделал, сохраняй файл как pad.inf.
Это не драйвер.[/uquote]
Мы 20+ лет назад делали "настоящий" драйвер. С mousepad.dll и mousepad.vxd. Можно было задавать размер ковра для соответствия диагонали монитора и там был индикатор уровня китайского запаха дешёвого коврика. Жаль, всё утеряно, эх.
Re: Написать драйвер самому
Добавлено: Чт авг 22, 2024 23:12:58
NikVE
[uquote="Andrey_B",url="/forum/viewtopic.php?p=4615416#p4615416"]Создание драйвера будет происходить с помощью текстового редактора "Note Pad". Приступим к непосредственному написанию драйвера.
Пиши:
Код: Выделить всё
[VERSION]
...
[STRINGS]
PC="XAKEP Magazine"
После того как ты все это проделал, сохраняй файл как pad.inf.
... и ты увидишь, что у тебя поселилось новое устройство - "mouse pad"![/uquote]
Ух ты! Еще бы понимать - что к чему в этом коде...
Re: Написать драйвер самому
Добавлено: Пт авг 23, 2024 12:37:09
Мурик
NikVE, это не драйвер. В нем нет исполняемого кода.
Re: Написать драйвер самому
Добавлено: Пт авг 23, 2024 21:50:08
NikVE
А что это такое тогда?
Re: Написать драйвер самому
Добавлено: Пт авг 23, 2024 23:56:34
Мурик
Это установочный файл, который в данном случае отобразит в диспетчере устройств несуществующее устройство.
https://en.wikipedia.org/wiki/INF_file
У драйверов расширение sys.
В качестве примера несколько драйверов скрывающих процесс в диспетчере задач и защищающих его от завершения. Работает на x86 системе до Win10.
Дрова нужно подписать как минимум тестовой подписью.
Re: Написать драйвер самому
Добавлено: Пн авг 26, 2024 19:59:20
NikVE
Благодарю! Однако, интересно!