👉👈
Участник
Статус
Оффлайн
Регистрация
16 Янв 2017
Сообщения
981
Реакции[?]
255
Поинты[?]
187K
Всем привет! Я ранее выкладывал «Valo Color Bot Source» исходник чита на Валорант, который в целом отлично работает и сейчас, но с доработками. Напомню, что у чита отличная и удобная менюшка, есть аимбот, триггер, магнет, в общем всё, что нужно. Оригинальную тему можете найти тут.


В чём отличие от исходного чита?


Единственное, что останавливало от того, чтоб просто заинжектить и пойти играть – это отсутствие драйвера, который был бы андетект Вангуардом. И сегодня я им и хочу с вами поделиться.
  1. Этот драйвер подписан сертификатом от Microsoft.
  2. Неизвестно, сколько он проживёт, но его выложили 28 января (автор - s4ncak1), сам kernel driver был подписан 10 октября.
  3. Теперь вы можете совместить эти два сурса и получить годный undetected Valorant hack со всеми функциями, которые необходимы для легит и рейдж игры.
С учётом того, сколько сейчас стоят другие читы на Валик, этот – вполне неплохая альтернатива приватным.
Главное грамотно всё сделать и ничего не забыть добавить и удалить. С этим могут помочь гайды на ютубе, я тут не силён и помочь не смогу.
Знаю одно, что софт на момент публикации этой статьи точно не детект, поддерживает 10 и 11 винду, а также HVIC, secureboot и TPM.

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


C++:
#include "Driver.hpp"
#include <fstream>
#include <filesystem>
#include <TlHelp32.h>

std::string RandomString(const int len)
{
    static const char alphanum[] =
        "0123456789"
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz";
    std::string tmp_s;
    tmp_s.reserve(len);

    for (int i = 0; i < len; ++i)
    {
        tmp_s += alphanum[rand() % (sizeof(alphanum) - 1)];
    }

    return tmp_s;
}

DWORD GetProcessPidByName(const wchar_t* ProcessName)
{
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  // Take Snapshot of All Process Running on the System
    if (!hSnapshot || hSnapshot == INVALID_HANDLE_VALUE || hSnapshot == ((HANDLE)(LONG_PTR)ERROR_BAD_LENGTH)) // Check Snapshot Is Invalid
    {
        return 0;
    }

    DWORD Pid;
    PROCESSENTRY32 ProcessEntry;
    ProcessEntry.dwSize = sizeof(ProcessEntry);
    if (Process32First(hSnapshot, &ProcessEntry)) // Copy First Process of Snapshot and Paste at PROCESSENTRY32 Struct
    {
        while (_wcsicmp(ProcessEntry.szExeFile, ProcessName)) // While Process Names not Same
        {
            if (!Process32Next(hSnapshot, &ProcessEntry)) // Copy The Next Process of the Snapshot and Paste at PROCESSENTRY32 Struct And Check if The Function Worked
            {
                CloseHandle(hSnapshot);
                return 0;
            }
        }

        Pid = ProcessEntry.th32ProcessID; // Found
    }
    else
    {
        CloseHandle(hSnapshot);
        return 0;
    }

    CloseHandle(hSnapshot);
    return Pid;
}

namespace Driver
{
    void Comms::CreateDeviceDrv()
    {
  
        hDriver = CreateFileA(("\\\\.\\cla300"), GENERIC_READ | GENERIC_WRITE,
            FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_EXISTING,
            NULL, NULL);
    }

    void Comms::TryInitDriver()
    {
        CreateDeviceDrv();
        if (!IsConnected())
        {
            UDMapper();
            CreateDeviceDrv();
        }
    }

    void Comms::UDMapper()
    {

    }

    void Comms::Disconnect()
    {
        if (hDriver != INVALID_HANDLE_VALUE)
            CloseHandle(hDriver);
    }

    bool Comms::MouseEvent(double x, double y, MouseFlags ButtonFlags)
    {
        if (!hDriver || hDriver == INVALID_HANDLE_VALUE)
            return false;

        NF_MOUSE_REQUEST MouseRequest;
        MouseRequest.x = (int)x;
        MouseRequest.y = (int)y;
        MouseRequest.ButtonFlags = (int)ButtonFlags;

        return DeviceIoControl(hDriver, IO_SEND_MOUSE_EVENT, &MouseRequest, sizeof(NF_MOUSE_REQUEST), nullptr, NULL, nullptr, nullptr);
    }
}

C++:
#pragma once

#include <Windows.h>

namespace Driver
{
    enum MouseFlags
    {
        None = 0,
        LeftButtonDown = 1,
        LeftButtonUp = 2,
        RightButtonDown = 4,
        RightButtonUp = 8,
        MiddleButtonDown = 16,
        MiddleButtonUp = 32,
        XButton1Down = 64,
        XButton1Up = 128,
        XButton2Down = 256,
        XButton2Up = 512,
        MouseWheel = 1024,
        MouseHorizontalWheel = 2048
    };


    class Comms
    {
        struct NF_MOUSE_REQUEST
        {
            int x;
            int y;
            short ButtonFlags;
        };

        struct INFO_T
        {
            int Pid;
            uintptr_t Address;
            uintptr_t Value;
            int Size;
            uintptr_t Data;
        };

    public:
        Comms() { }
        ~Comms() { }

        void CreateDeviceDrv();
        void Disconnect();

        void TryInitDriver();
        void UDMapper();

        bool MouseEvent(double x, double y, MouseFlags ButtonFlags);

        bool IsConnected()
        {
            if (!hDriver || hDriver == INVALID_HANDLE_VALUE)
                return false;

            return true;
        }

    private:

        DWORD IO_SEND_MOUSE_EVENT = 0x23FACC00;

    private:
        HANDLE hDriver;
        bool bIsConnected;
    };
}
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
29 Июл 2023
Сообщения
31
Реакции[?]
2
Поинты[?]
2K
сможешь дать уже полный исходник или просто сам софт уже полностью готовый и так далее пожалуйста
 
👉👈
Участник
Статус
Оффлайн
Регистрация
16 Янв 2017
Сообщения
981
Реакции[?]
255
Поинты[?]
187K
Сверху Снизу