PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Kernel Driver » Среда программирования для создания драйверов (x86 и x64).


Среда программирования для создания драйверов (x86 и x64).

Сообщений 1 страница 5 из 5

1

Для создания драйверов режима ядра (kernel mode) ОС Windows, нужна немного модифицированная версия среды PureBasic.
Размер не очень большой, чуть больше 2 МБ.
Версия для создания драйверов для Windows x86 (32 бита). http://pure-basic.narod.ru/forum_files/ … Driver.zip
Версия для создания драйверов для Windows x64 (64 бита). http://pure-basic.narod.ru/forum_files/ … er_x64.zip

Это бесплатная демо версия PureBasic 4.61, скачанная с официального сайта и немного доработанная - добавлены некоторые файлы, необходимые для создания и компиляции драйверов (DDK и др.) и удалено все что нельзя использовать в режиме ядра. С ее помощью можно создавать только драйверы. Если вы хотите создавать программы, то качайте PureBasic с официального сайта.
Так же удалена справка. Если она вам нужна, скачайте ее и поместите в папку с PureBasic.

Скачиваем архив и распаковываем в любую папку.
Запускать среду следует с помощью файла "PureBasic Portable.exe".

Скриншот запущенной среды PureBasic в месте с исходным текстом драйвера.

http://pure-basic.narod.ru/forum_files/driver/img/ide.PNG

Драйвер создается довольно просто, без возни батниками или командной строкой. Нужно всего лишь в меню "Компилятор" щёлкнуть по пункту "Создать драйвер" и если в коде нет ошибок, то драйвер будет создан в указанном месте.

В меню "Инструменты" есть несколько внешних инструментов. Это Dbgview, KmdManager и HDasm.
Первый используется для отладки драйверов. Он отображает сообщения, переданные функцией DbgPrint().
Второй так же нужен для отладки, при тестовом выполнении драйверов.
Третий это дизассемблер, который возможно понадобится при оптимизации драйверов. Нужно отметить, что для того чтобы посмотреть ассемблерный код драйвера вовсе не обязательно его дизассемблировать. После каждой удачной компиляции в папке Temp текущего пользователя будет появляться файл с именем DrPureBasic.asm, содержащий ассемблерный код драйвера в том виде, в котором он передается ассемблеру FASM.
Так же есть возможность простой замены DOS-заглушки. В папке Compilers находится файл stub.bin, который является такой заглушкой. Его можно заменить на свой или вообще удалить из этой папки, если нужна DOS-заглушка по умолчанию.

PS.
Ни я не создатели PureBasic не несем ответственность за возможную потерю данных и т. д. из-за сбоев при создании и отладке драйверов.

0

2

Добавил версию PureBasic, создающую x64 (64 бита) драйверы.

0

3

PureBasic 5.11 Windows x86 для создания драйверов. http://pure-basic.narod.ru/forum_files/ … 6_v1.0.zip
Версия для x64. http://pure-basic.narod.ru/forum_files/ … Driver.zip
По сравнению с предыдущей версией 4.61, изменилась не только версия PureBasic, но и препроцессор, что позволило упростить разработку драйверов избавив от необходимости писать код для FASMа.

0

4

Пётр привет.
1. Можно ли создавать драйвера для Windows 98 SE для моделирования XP?
2. Можно ли создавать драйвера для Windows XP SP3 маскируя внешние прерывания до 0.16 сек. (не только время, но и шины нельзя отдавать другим ядрам - либо их остановить, либо одно ядро)? Соотв. отставание по системному времени не критично, было до 66%, но W98 нормально работает без драйверов.
3. Компиляция драйверов Pentium 3, или в Windows 98 SE?
4. Более 800 строк кода для драйверов (данный вариант компиляторов)?
5. Возможность работы драйверов BusMstering'ом хотя бы по 32-х разрядной PCI, ну и далее 64, PCI-X, PCI-Express ну до скольких и в каких OS?.

Отредактировано 9402 (13.01.2019 08:17:39)

0

5

Не пробовал перечисленное и сложно ответить на эти вопросы.
Версия 5.11 в 3 сообщении без ограничения количества строк.

0


Вы здесь » PureBasic - форум » Kernel Driver » Среда программирования для создания драйверов (x86 и x64).