Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

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

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


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

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

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


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

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


- Настройка

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

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

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

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

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

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


- Разбор кода

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

imports:
Expand Collapse Copy
#include <ntddk.h>

Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


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

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

entry:
Expand Collapse Copy
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);

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

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

print:
Expand Collapse Copy
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?
 
Всем привет) Недавно смотря гайды на форуме, не увидел не одного про драйвера, ну чтож я стану первым)

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


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

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

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


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

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

- Настройка

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

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

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

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

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

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


- Разбор кода

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

imports:
Expand Collapse Copy
#include <ntddk.h>

Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


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

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

entry:
Expand Collapse Copy
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);

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

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

print:
Expand Collapse Copy
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, если не меньше???
 
Мне кажется, или это бесполезно? Новички всё равно без знаний с этим ничего сделать не смогут, а неновичкам это и не нужно.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не, ну это пиздец. Сколько ещё будет паблик гайдов, которые уже писали раз 100 и переводили раз 1000, если не меньше???
На форуме нет ни одного) :roflanPominki:
Upd: по созданию драйвера для Чита, вообще ни где
Мне кажется, или это бесполезно? Новички всё равно без знаний с этим ничего сделать не смогут, а неновичкам это и не нужно.
По этой теме мб и да, но я продолжу)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А в интернете есть, прикинь

Хуёво ищешь значит, т.к. подобных тем полно. Тот же shockbyte, который делал вх на драйвере
Думаю простое вх никому не нужно)
Сейчас людям нужны драйвера с обходами ач (в большинстве)
 
Думаю простое вх никому не нужно)
Сейчас людям нужны драйвера с обходами ач (в большинстве)
Так а какая разница?)
В твоем треде же не рассказалось как обойти античит

Намного интереснее было бы чекнуть
В нем та же информация из треда + дохуя другой инфы.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так а какая разница?)
В твоем треде же не рассказалось как обойти античит

Намного интереснее было бы чекнуть
В нем та же информация из треда + дохуя другой инфы.
Это первая часть . . .
 
Это первая часть . . .
Я просто говорю что вместо прочтения твоего первого треда можно было бы чекнуть видос.
Ну а в целом оформлено красиво, жаль не могу реакции ставить.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет) Недавно смотря гайды на форуме, не увидел не одного про драйвера, ну чтож я стану первым)

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


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

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

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


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

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

- Настройка

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

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

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

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

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

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


- Разбор кода

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

imports:
Expand Collapse Copy
#include <ntddk.h>

Данный хедер содержит в себе структуры, функции необходимые для ядра. Подробнее -
Пожалуйста, авторизуйтесь для просмотра ссылки.


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

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

entry:
Expand Collapse Copy
NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver_Object, IN PUNICODE_STRING RegistryPath);

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

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

print:
Expand Collapse Copy
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?
Как бы юзлесс, но за оформление и старания лайк поставил
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу