Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 15 Ноя 2020
- Сообщения
- 6
- Реакции
- 0
Привет всем, нашел свой старый тригербот который писал до полноценного перехода в интернал для RageMP , снизу вот что нейронка написала про сурсы -
Данный проект представляет собой программный комплекс, состоящий из драйвера уровня ядра (Ring 0) и клиентского приложения пользовательского уровня (Ring 3). Основная задача комплекса — скрытое чтение памяти целевого процесса (в данном случае GTA5.exe ) и аппаратная эмуляция событий ввода без использования стандартных API операционной системы.
Архитектура и межпроцессное взаимодействие (IPC)
Взаимодействие между клиентом и драйвером реализовано без использования стандартных механизмов, таких как IOCTL (DeviceIoControl), с целью обхода систем мониторинга.
- Клиент client.cpp выделяет буфер в общей памяти (Shared Memory) и записывает указатель на него в структуру PEB (Process Environment Block) по смещению 0x28 .
- Драйвер driver.c в рамках системного потока периодически сканирует активные процессы. При обнаружении процесса client.exe он извлекает указатель из PEB и начинает опрашивать буфер на наличие новых команд, синхронизируясь посредством проверки структуры CommunicationData (по ключу Magic ).
Компонент уровня ядра (Kernel-Mode Driver)
Драйвер выполняет две основные функции: скрытое чтение памяти и инъекцию ввода.
- Чтение физической памяти: Для обхода перехватов функций ReadProcessMemory или MmCopyVirtualMemory , чтение реализовано через прямую трансляцию виртуальных адресов в физические (Page Table Walk). В файле memory.c функция TranslateLinearAddress получает регистр CR3 целевого процесса и выполняет обход структур PML4, PDPT, PD и PT. Полученный физический адрес читается с использованием MmCopyMemory с флагом MM_COPY_MEMORY_PHYSICAL .
- Аппаратная эмуляция мыши: Вместо функций mouse_event или SendInput , которые устанавливают флаг LLMHF_INJECTED , драйвер осуществляет поиск объектов \Driver\MouClass и \Driver\MouHID . Он извлекает адрес функции MouseClassServiceCallback и напрямую передает в нее структуру MOUSE_INPUT_DATA . Это позволяет генерировать события ввода на уровне стека драйверов, что идентично сигналам от физического устройства.
Клиентский компонент (User-Mode Client)
Клиент отвечает за инициализацию связи, поиск целевых структур в памяти и исполнение пользовательской логики.
- Поиск сигнатур: При запуске клиент запрашивает у драйвера базовый адрес целевого процесса и выполняет сигнатурный поиск (Pattern Scanning) указателя WorldPtr в пределах первых 64 МБ памяти.
- Игровая логика: В основном цикле клиент производит чтение цепочки указателей (World -> LocalPed -> PlayerInfo -> Target). При выполнении заданных условий (наличие валидного адреса цели и значения здоровья в диапазоне от 1.0 до 400.0) формируется запрос RequestMouseClick , который передается в буфер для исполнения драйвером.
Если вы хотите написать что сурс хуйня , то не стоит, я сам знаю . Выкладываю потому что жалко просто удалять, может кому-то кто только начинает что-то делать на рейдж подойдет как минимальная база.
( в папке build лежит его бинарник, но если есть желание можете скомпилировать сами)
тестировалось на Windows 11 24H2 (сборка 26100).
Данный проект представляет собой программный комплекс, состоящий из драйвера уровня ядра (Ring 0) и клиентского приложения пользовательского уровня (Ring 3). Основная задача комплекса — скрытое чтение памяти целевого процесса (в данном случае GTA5.exe ) и аппаратная эмуляция событий ввода без использования стандартных API операционной системы.
Архитектура и межпроцессное взаимодействие (IPC)
Взаимодействие между клиентом и драйвером реализовано без использования стандартных механизмов, таких как IOCTL (DeviceIoControl), с целью обхода систем мониторинга.
- Клиент client.cpp выделяет буфер в общей памяти (Shared Memory) и записывает указатель на него в структуру PEB (Process Environment Block) по смещению 0x28 .
- Драйвер driver.c в рамках системного потока периодически сканирует активные процессы. При обнаружении процесса client.exe он извлекает указатель из PEB и начинает опрашивать буфер на наличие новых команд, синхронизируясь посредством проверки структуры CommunicationData (по ключу Magic ).
Компонент уровня ядра (Kernel-Mode Driver)
Драйвер выполняет две основные функции: скрытое чтение памяти и инъекцию ввода.
- Чтение физической памяти: Для обхода перехватов функций ReadProcessMemory или MmCopyVirtualMemory , чтение реализовано через прямую трансляцию виртуальных адресов в физические (Page Table Walk). В файле memory.c функция TranslateLinearAddress получает регистр CR3 целевого процесса и выполняет обход структур PML4, PDPT, PD и PT. Полученный физический адрес читается с использованием MmCopyMemory с флагом MM_COPY_MEMORY_PHYSICAL .
- Аппаратная эмуляция мыши: Вместо функций mouse_event или SendInput , которые устанавливают флаг LLMHF_INJECTED , драйвер осуществляет поиск объектов \Driver\MouClass и \Driver\MouHID . Он извлекает адрес функции MouseClassServiceCallback и напрямую передает в нее структуру MOUSE_INPUT_DATA . Это позволяет генерировать события ввода на уровне стека драйверов, что идентично сигналам от физического устройства.
Клиентский компонент (User-Mode Client)
Клиент отвечает за инициализацию связи, поиск целевых структур в памяти и исполнение пользовательской логики.
- Поиск сигнатур: При запуске клиент запрашивает у драйвера базовый адрес целевого процесса и выполняет сигнатурный поиск (Pattern Scanning) указателя WorldPtr в пределах первых 64 МБ памяти.
- Игровая логика: В основном цикле клиент производит чтение цепочки указателей (World -> LocalPed -> PlayerInfo -> Target). При выполнении заданных условий (наличие валидного адреса цели и значения здоровья в диапазоне от 1.0 до 400.0) формируется запрос RequestMouseClick , который передается в буфер для исполнения драйвером.
Если вы хотите написать что сурс хуйня , то не стоит, я сам знаю . Выкладываю потому что жалко просто удалять, может кому-то кто только начинает что-то делать на рейдж подойдет как минимальная база.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
( в папке build лежит его бинарник, но если есть желание можете скомпилировать сами)
Пожалуйста, авторизуйтесь для просмотра ссылки.
( сурсы и уже собраные файлы )тестировалось на Windows 11 24H2 (сборка 26100).