Гайд [ Driver ] Создаём свой первый драйвер #1

Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет) Недавно смотря гайды на форуме, не увидел не одного про драйвера, ну чтож я стану первым)

- Содержание
- Начало
- Разбор кода
- Загрузка драйвера


- Установка необходимого

- Visual Studio
- WDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Windows SDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.


- Создание и настройка проекта

Создаем пустой проект кернел драйвера
1675419068598.png

- Настройка

Свойста проекта -> C/C++ -> Общие

Снижаем уровень предупреждений на 3.
Выключаем "Обработка предупреждений как ошибки"

-> Создание кода

Отключаем "Spectre Mitigatin"

Далее заходим в "Driver Signing" и выставляем "Test Certificate" -> "Create New"

На этом наша настройка окончена.


- Разбор кода

Имортируем "ntddk.h"

imports:
#include <ntddk.h>
Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


Точкой входа драйвера является DriverEntry.

Определяем тип NTSTATUS, для создания точки входа.

entry:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);
Передаваемые параметры:
- PDRIVER_OBJECT Driver_Object - Содержит множество указателей для драйвера.
- PUNICODE_STRING RegistryPath - Регистрация драйвера в реестре

- Вывод текста

print:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath) {


    DbgPrintEx(0, 0, "Hello World!\n");
    return STATUS_SUCCESS;
}
Использовать мы будем DbgPrintEx - " отправляет строку в отладчик ядра, если выполняются указанные условия". Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.
.


Передаваемые параметры:
-
ComponentId - Указывает компонент, вызывающий эту подпрограмму. Это должен быть один из идентификаторов фильтров имен компонентов.
- Level - Указывает серьезность отправляемого сообщения. Это может быть любое 32-разрядное целое число. Значения от 0 до 31 (включительно) обрабатываются по-разному, чем значения от 32 до 0xFFFFFFFF.

return STATUS_SUCCESS - Т.к тип NTSTATUS должен возвращать значение, при успешном выполнение, вернём статус SUCCESS.

Компилируем драйвер.


- Загрузка драйвера в систему

Загрузить драйвер можно несколькими способами:
- Через маппер
- Через утилиту sc

Мы воспользуемся 2 методом.


Перед запуском драйвера отключите проверку подписи сертификата.
Перезагружаем винду с зажатым шифтом.

Выбираем "поиск и устранение неисправностей" -> параметры загрузки.
Далее выбираем функцию отключающую проверку подписи.

Запускаем cmd от имени администратор, переходим в папку с вашим драйвером.

Выполняем команды:
- SC CREATE <название_драйвера> binPath= <путь_до_sys_файла> type=kernel
- Запуск: sc start <название_драйвера>


- Отслеживание выводов

Для отслеживания могу посоветовать - dbgView, с такими настройками.

1675423386814.png

THE END?
 
VirtualAllocEx
Пользователь
Статус
Оффлайн
Регистрация
30 Дек 2021
Сообщения
358
Реакции[?]
83
Поинты[?]
5K
Всем привет) Недавно смотря гайды на форуме, не увидел не одного про драйвера, ну чтож я стану первым)

- Содержание
- Начало
- Разбор кода
- Загрузка драйвера


- Установка необходимого

- Visual Studio
- WDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Windows SDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.


- Создание и настройка проекта

Создаем пустой проект кернел драйвера
Посмотреть вложение 237311

- Настройка

Свойста проекта -> C/C++ -> Общие

Снижаем уровень предупреждений на 3.
Выключаем "Обработка предупреждений как ошибки"

-> Создание кода

Отключаем "Spectre Mitigatin"

Далее заходим в "Driver Signing" и выставляем "Test Certificate" -> "Create New"

На этом наша настройка окончена.


- Разбор кода

Имортируем "ntddk.h"

imports:
#include <ntddk.h>
Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


Точкой входа драйвера является DriverEntry.

Определяем тип NTSTATUS, для создания точки входа.

entry:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);
Передаваемые параметры:
- PDRIVER_OBJECT Driver_Object - Содержит множество указателей для драйвера.
- PUNICODE_STRING RegistryPath - Регистрация драйвера в реестре

- Вывод текста

print:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath) {


    DbgPrintEx(0, 0, "Hello World!\n");
    return STATUS_SUCCESS;
}
Использовать мы будем DbgPrintEx - " отправляет строку в отладчик ядра, если выполняются указанные условия". Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.
.


Передаваемые параметры:
-
ComponentId - Указывает компонент, вызывающий эту подпрограмму. Это должен быть один из идентификаторов фильтров имен компонентов.
- Level - Указывает серьезность отправляемого сообщения. Это может быть любое 32-разрядное целое число. Значения от 0 до 31 (включительно) обрабатываются по-разному, чем значения от 32 до 0xFFFFFFFF.

return STATUS_SUCCESS - Т.к тип NTSTATUS должен возвращать значение, при успешном выполнение, вернём статус SUCCESS.

Компилируем драйвер.


- Загрузка драйвера в систему

Загрузить драйвер можно несколькими способами:
- Через маппер
- Через утилиту sc

Мы воспользуемся 2 методом.


Перед запуском драйвера отключите проверку подписи сертификата.
Перезагружаем винду с зажатым шифтом.

Выбираем "поиск и устранение неисправностей" -> параметры загрузки.
Далее выбираем функцию отключающую проверку подписи.

Запускаем cmd от имени администратор, переходим в папку с вашим драйвером.

Выполняем команды:
- SC CREATE <название_драйвера> binPath= <путь_до_sys_файла> type=kernel
- Запуск: sc start <название_драйвера>


- Отслеживание выводов

Для отслеживания могу посоветовать - dbgView, с такими настройками.

Посмотреть вложение 237316

THE END?
Не, ну это пиздец. Сколько ещё будет паблик гайдов, которые уже писали раз 100 и переводили раз 1000, если не меньше???
 
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,371
Реакции[?]
2,278
Поинты[?]
182K
Мне кажется, или это бесполезно? Новички всё равно без знаний с этим ничего сделать не смогут, а неновичкам это и не нужно.
 
Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не, ну это пиздец. Сколько ещё будет паблик гайдов, которые уже писали раз 100 и переводили раз 1000, если не меньше???
На форуме нет ни одного) :roflanPominki:
Upd: по созданию драйвера для Чита, вообще ни где
Мне кажется, или это бесполезно? Новички всё равно без знаний с этим ничего сделать не смогут, а неновичкам это и не нужно.
По этой теме мб и да, но я продолжу)
 
VirtualAllocEx
Пользователь
Статус
Оффлайн
Регистрация
30 Дек 2021
Сообщения
358
Реакции[?]
83
Поинты[?]
5K
Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А в интернете есть, прикинь

Хуёво ищешь значит, т.к. подобных тем полно. Тот же shockbyte, который делал вх на драйвере
Думаю простое вх никому не нужно)
Сейчас людям нужны драйвера с обходами ач (в большинстве)
 
эксперт в майнкрафт апи
Read Only
Статус
Оффлайн
Регистрация
25 Янв 2023
Сообщения
684
Реакции[?]
287
Поинты[?]
22K
Думаю простое вх никому не нужно)
Сейчас людям нужны драйвера с обходами ач (в большинстве)
Так а какая разница?)
В твоем треде же не рассказалось как обойти античит

Намного интереснее было бы чекнуть
В нем та же информация из треда + дохуя другой инфы.
 
Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так а какая разница?)
В твоем треде же не рассказалось как обойти античит

Намного интереснее было бы чекнуть
В нем та же информация из треда + дохуя другой инфы.
Это первая часть . . .
 
эксперт в майнкрафт апи
Read Only
Статус
Оффлайн
Регистрация
25 Янв 2023
Сообщения
684
Реакции[?]
287
Поинты[?]
22K
Это первая часть . . .
Я просто говорю что вместо прочтения твоего первого треда можно было бы чекнуть видос.
Ну а в целом оформлено красиво, жаль не могу реакции ставить.
 
Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
752
Реакции[?]
64
Поинты[?]
2K
Сделай гайд по подписи драйвера
 
Obstruct Omicronium
Пользователь
Статус
Оффлайн
Регистрация
28 Авг 2022
Сообщения
66
Реакции[?]
78
Поинты[?]
66K
Ну все, ждем когда будут гайды аля "как юзать windbg".
 
PrimordialAgent
Пользователь
Статус
Оффлайн
Регистрация
4 Ноя 2020
Сообщения
236
Реакции[?]
97
Поинты[?]
1K
Всем привет) Недавно смотря гайды на форуме, не увидел не одного про драйвера, ну чтож я стану первым)

- Содержание
- Начало
- Разбор кода
- Загрузка драйвера


- Установка необходимого

- Visual Studio
- WDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Windows SDK |
Пожалуйста, авторизуйтесь для просмотра ссылки.


- Создание и настройка проекта

Создаем пустой проект кернел драйвера
Посмотреть вложение 237311

- Настройка

Свойста проекта -> C/C++ -> Общие

Снижаем уровень предупреждений на 3.
Выключаем "Обработка предупреждений как ошибки"

-> Создание кода

Отключаем "Spectre Mitigatin"

Далее заходим в "Driver Signing" и выставляем "Test Certificate" -> "Create New"

На этом наша настройка окончена.


- Разбор кода

Имортируем "ntddk.h"

imports:
#include <ntddk.h>
Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


Точкой входа драйвера является DriverEntry.

Определяем тип NTSTATUS, для создания точки входа.

entry:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);
Передаваемые параметры:
- PDRIVER_OBJECT Driver_Object - Содержит множество указателей для драйвера.
- PUNICODE_STRING RegistryPath - Регистрация драйвера в реестре

- Вывод текста

print:
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath) {


    DbgPrintEx(0, 0, "Hello World!\n");
    return STATUS_SUCCESS;
}
Использовать мы будем DbgPrintEx - " отправляет строку в отладчик ядра, если выполняются указанные условия". Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.
.


Передаваемые параметры:
-
ComponentId - Указывает компонент, вызывающий эту подпрограмму. Это должен быть один из идентификаторов фильтров имен компонентов.
- Level - Указывает серьезность отправляемого сообщения. Это может быть любое 32-разрядное целое число. Значения от 0 до 31 (включительно) обрабатываются по-разному, чем значения от 32 до 0xFFFFFFFF.

return STATUS_SUCCESS - Т.к тип NTSTATUS должен возвращать значение, при успешном выполнение, вернём статус SUCCESS.

Компилируем драйвер.


- Загрузка драйвера в систему

Загрузить драйвер можно несколькими способами:
- Через маппер
- Через утилиту sc

Мы воспользуемся 2 методом.


Перед запуском драйвера отключите проверку подписи сертификата.
Перезагружаем винду с зажатым шифтом.

Выбираем "поиск и устранение неисправностей" -> параметры загрузки.
Далее выбираем функцию отключающую проверку подписи.

Запускаем cmd от имени администратор, переходим в папку с вашим драйвером.

Выполняем команды:
- SC CREATE <название_драйвера> binPath= <путь_до_sys_файла> type=kernel
- Запуск: sc start <название_драйвера>


- Отслеживание выводов

Для отслеживания могу посоветовать - dbgView, с такими настройками.

Посмотреть вложение 237316

THE END?
Как бы юзлесс, но за оформление и старания лайк поставил
 
легендарный нелегендарный пройдите по ссылке
Участник
Статус
Оффлайн
Регистрация
6 Янв 2019
Сообщения
328
Реакции[?]
216
Поинты[?]
3K
этот драйвер дизайн нарисовать сможет?
 
Рисую демонической кровью
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2021
Сообщения
124
Реакции[?]
46
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу