Undetected Coloraim with bypass C#[Source]

XYZSTORE
Забаненный
Статус
Оффлайн
Регистрация
21 Янв 2020
Сообщения
228
Реакции[?]
22
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Модифицировал открытый код с UC под обновление, тестировал на win10 1607, на других может не работать.
Код:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ValorantAimbotUI
{
    public partial class Form1 : Form
    {

        enum AimKey
        {
            LeftMouse = 1,
            RightMouse = 2,
            X1Mouse = 5,
            X2Button = 6,
            Shift = 160,
            Ctrl = 162,
            Alt = 164,
            Capslock = 20,
            Numpad0 = 96,
            Numlock = 144,
        }

        public Form1()
        {
            InitializeComponent();

            this.BackColor = Color.FromArgb(255, 62, 74);
            this.Text = "Valorant Aim";
            this.ShowIcon = false;


            isTriggerbot = GetKey<bool>(nameof(isTriggerbot));
            isAimbot = GetKey<bool>(nameof(isAimbot));
            speed = GetKey<decimal>(nameof(speed));
            fovX = GetKey<int>(nameof(fovX));
            fovY = GetKey<int>(nameof(fovY));
            color = (ColorType)GetKey<int>(nameof(color));
            mainAimKey = (AimKey)GetKey<int>(nameof(mainAimKey));
            isAimKey = GetKey<bool>(nameof(isAimKey));
            isHold = GetKey<bool>(nameof(isHold));
            monitor = GetKey<int>(nameof(monitor));
            isTriggerbot = GetKey<bool>(nameof(isTriggerbot));
            offsetY = GetKey<int>(nameof(offsetY));
            msShootTime = GetKey<int>(nameof(msShootTime));

            switch (color) {
                case ColorType.Red:
                    RedRadio.Checked = true;
                    break;
                case ColorType.Purple:
                    PurpleRadio.Checked = true;
                    break;
                default:
                    break;
            }
            UpdateUI();
            IsHoldToggle.Checked = isHold;
            AimbotBtt.Checked = isAimbot;
            AimKeyToggle.Checked = isAimKey;
            Speed.Value = speed;
            FovXNum.Value = fovX;
            FovYNum.Value = fovY;
            TriggerbotBtt.Checked = isTriggerbot;
            offsetNum.Value = offsetY;
            FireRateNum.Value = msShootTime;

            string[] names = Enum.GetNames(typeof(AimKey));
            foreach (var name in names) {
                contextMenuStrip1.Items.Add(name);
            }

            contextMenuStrip1.ItemClicked += (o, e) => {
                mainAimKey = (AimKey)Enum.Parse(typeof(AimKey), e.ClickedItem.ToString());
                SetKey(nameof(mainAimKey), (int)mainAimKey);
                UpdateUI();
            };
            AutoSize = false;
            AutoScaleMode = AutoScaleMode.Font;
            Font = new Font("Trebuchet MS",
            10.0f,
            FontStyle.Regular,
            GraphicsUnit.Point,
            ((byte)(204))
            );
        }

        [DllImport("gdi32.dll")]
        static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
        public enum DeviceCap
        {
            VERTRES = 10,
            DESKTOPVERTRES = 117,

            // http://pinvoke.net/default.aspx/gdi32/GetDeviceCaps.html
        }


        private float GetScalingFactor()
        {
            Graphics g = Graphics.FromHwnd(IntPtr.Zero);
            IntPtr desktop = g.GetHdc();
            int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
            int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);

            float ScreenScalingFactor = (float)PhysicalScreenHeight / (float)LogicalScreenHeight;

            return ScreenScalingFactor; // 1.25 = 125%
        }


        int xSize;
        int ySize;


        [DllImport("user32.dll")]
        static extern short GetAsyncKeyState(int vKey);
        [DllImport("USER32.dll")]
        static extern short GetKeyState(int nVirtKey);

        int msShootTime = 225;
        System.DateTime lastShot = System.DateTime.Now;

        int offsetY = 10;

        async void Update()
        {
            while (true) {
                if (!isRunning) {
                    await Task.Delay(10);
                    continue;
                }
                if (isAimKey) {
                    int res = GetKeyState((int)mainAimKey);
                    if (isHold) {
                        if (res >= 0) {
                            // if (res < 0) {
                            await Task.Delay(1);
                            //Move(0, 0, true);
                            continue;
                        }
                    }
                    else {
                        if (res != 0) {
                            await Task.Delay(1);
                            continue;
                        }
                    }
                }
                var mainColor = Color.FromArgb(GetColor(color));


                if (isTriggerbot && !isAimbot) {
                    const int triggerFovX = 10;
                    const int triggerFovY = 10;
                    var l = PixelSearch(new Rectangle((xSize - triggerFovX) / 2, (ySize - triggerFovY) / 2, triggerFovX, triggerFovY), mainColor, colorVariation);
                    if (l.Length > 0) { // IF NOT ERROR
                        Move(0, 0, true);
                    }
                }
                else if (isAimbot) {
                    const int maxCount = 5;
                    const int size = 60;
                    const int closeSize = 10;

                    var l = PixelSearch(new Rectangle((xSize - fovX) / 2, (ySize - fovY) / 2, fovX, fovY), mainColor, colorVariation);
                    if (l.Length > 0) {
                        try {
                            bool pressDown = false;
                            if (isTriggerbot) {
                                for (int i = 0; i < l.Length; i++) {
                                    if ((new Vector2(l[i].X, l[i].Y) - new Vector2(xSize / 2, ySize / 2)).Length() < closeSize) {
                                        pressDown = true;
                                        break;
                                    }
                                }
                            }

                            var q = l.OrderBy(t => t.Y).ToArray();

                            List<Vector2> forbidden = new List<Vector2>();

                            for (int i = 0; i < q.Length; i++) {
                                Vector2 current = new Vector2(q[i].X, q[i].Y);
                                if (forbidden.Where(t => (t - current).Length() < size || Math.Abs(t.X - current.X) < size).Count() < 1) { // TO NOT PLACE POINTS AT THE BODY
                                    forbidden.Add(current);
                                    if (forbidden.Count > maxCount) {
                                        break;
                                    }
                                }
                            }

                            var closes = forbidden.Select(t => (t - new Vector2(xSize / 2, ySize / 2))).OrderBy(t => t.Length()).ElementAt(0) + new Vector2(1, offsetY);

                            Move((int)(closes.X * (float)speed), (int)(closes.Y * (float)speed), pressDown);
                        }
                        catch (Exception _ex) {
                            Console.WriteLine("Main Ex." + _ex);
                        }
                    }
                }
            }
        }

        bool isTriggerbot = false;
        bool isAimbot = false;
        decimal speed = 1;
        int fovX = 100;
        int fovY = 100;
        bool isAimKey = false;
        bool isHold = true;
        int monitor = 0;
        int colorVariation = 25;
        enum ColorType { Red = 0, Purple = 1 }
        int GetColor(ColorType color)
        {
            switch (color) {
                case ColorType.Red:
                    return 0xb41515;
                case ColorType.Purple:
                    return 0xaf2eaf;
                default:
                    return 0;
            }
        }

        AimKey mainAimKey = AimKey.Alt;
        ColorType color = ColorType.Purple;

        float zoom = 1;
        void UpdateDisplayInformation()
        {
            zoom = GetScalingFactor();
            Screen current = CurrentScreen();
            bool prim = current.Primary;
            xSize = (int)(current.Bounds.Width * (prim ? zoom : 1));
            ySize = (int)(current.Bounds.Height * (prim ? zoom : 1));
        }



        [DllImport("user32.dll")]
        static extern void mouse_event(int dwFlags, int dx, int dy, uint dwData,
UIntPtr dwExtraInfo);

        public void Move(int xDelta, int yDelta, bool pressDown = false)
        {
            if (pressDown) {
                if (System.DateTime.Now.Subtract(lastShot).TotalMilliseconds < msShootTime) {
                    pressDown = false;
                }
                else {
                    lastShot = System.DateTime.Now;
                }
            }

            // if (pressDown) {
            mouse_event(pressDown ? (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP) : 0x0001, xDelta, yDelta, 0, UIntPtr.Zero);
            //  }
            //  mouse_event(0x0001, xDelta, yDelta, 0, UIntPtr.Zero);
        }

        private const int MOUSEEVENTF_LEFTDOWN = 0x02;
        private const int MOUSEEVENTF_LEFTUP = 0x04;
        private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
        private const int MOUSEEVENTF_RIGHTUP = 0x10;

        public Screen CurrentScreen()
        {
            return Screen.AllScreens[monitor];
        }

        public Point[] PixelSearch(Rectangle rect, Color Pixel_Color, int Shade_Variation)
        {
            ArrayList points = new ArrayList();
            Bitmap RegionIn_Bitmap = new Bitmap(rect.Width, rect.Height, PixelFormat.Format24bppRgb);

            if (monitor >= Screen.AllScreens.Length) {
                monitor = 0;
                UpdateUI();
            }

            int xOffset = Screen.AllScreens[monitor].Bounds.Left;
            int yOffset = Screen.AllScreens[monitor].Bounds.Top;

            using (Graphics GFX = Graphics.FromImage(RegionIn_Bitmap)) {
                GFX.CopyFromScreen(rect.X + xOffset, rect.Y + yOffset, 0, 0, rect.Size, CopyPixelOperation.SourceCopy);
            }
            BitmapData RegionIn_BitmapData = RegionIn_Bitmap.LockBits(new Rectangle(0, 0, RegionIn_Bitmap.Width, RegionIn_Bitmap.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
            int[] Formatted_Color = new int[3] { Pixel_Color.B, Pixel_Color.G, Pixel_Color.R }; //bgr

            unsafe {
                for (int y = 0; y < RegionIn_BitmapData.Height; y++) {
                    byte* row = (byte*)RegionIn_BitmapData.Scan0 + (y * RegionIn_BitmapData.Stride);
                    for (int x = 0; x < RegionIn_BitmapData.Width; x++) {
                        if (row[x * 3] >= (Formatted_Color[0] - Shade_Variation) & row[x * 3] <= (Formatted_Color[0] + Shade_Variation)) //blue
                            if (row[(x * 3) + 1] >= (Formatted_Color[1] - Shade_Variation) & row[(x * 3) + 1] <= (Formatted_Color[1] + Shade_Variation)) //green
                                if (row[(x * 3) + 2] >= (Formatted_Color[2] - Shade_Variation) & row[(x * 3) + 2] <= (Formatted_Color[2] + Shade_Variation)) //red
                                    points.Add(new Point(x + rect.X, y + rect.Y));
                    }
                }
            }
            RegionIn_Bitmap.Dispose();
            return (Point[])points.ToArray(typeof(Point));
        }

        private void Red_changed(object sender, EventArgs e)
        {
            color = ColorType.Red;
            SetKey(nameof(color), (int)color);
        }

        private void Purple_changed(object sender, EventArgs e)
        {
            color = ColorType.Purple;
            SetKey(nameof(color), (int)color);
        }

        private void Speed_changed(object sender, EventArgs e)
        {
            speed = Speed.Value;
            SetKey(nameof(speed), speed);
        }

        private void FovX_changed(object sender, EventArgs e)
        {
            fovX = (int)FovXNum.Value;
            SetKey(nameof(fovX), fovX);
        }

        private void FovY_changed(object sender, EventArgs e)
        {
            fovY = (int)FovYNum.Value;
            SetKey(nameof(fovY), fovY);
        }

        private void IsAimbot_changed(object sender, EventArgs e)
        {
            isAimbot = AimbotBtt.Checked;
            SetKey(nameof(isAimbot), isAimbot);
        }

        private void IsTriggerbot_changed(object sender, EventArgs e)
        {
            isTriggerbot = TriggerbotBtt.Checked;
            SetKey(nameof(isTriggerbot), isTriggerbot);
        }

        Thread mainThread;
        private void Main_load(object sender, EventArgs e)
        {
            mainThread = new Thread(() => {
                Update();
            });
            mainThread.Start();
        }

        void SetKey(string key, bool o)
        {
            Properties.Settings.Default[key] = o;
            Properties.Settings.Default.Save();
        }
        void SetKey(string key, int o)
        {
            Properties.Settings.Default[key] = o;
            Properties.Settings.Default.Save();
        }
        void SetKey(string key, decimal o)
        {
            Properties.Settings.Default[key] = o;
            Properties.Settings.Default.Save();
        }

        T GetKey<T>(string key)
        {
            return (T)Properties.Settings.Default[key];
        }

        protected override void OnHandleDestroyed(EventArgs e)
        {
            mainThread.Abort();
            Properties.Settings.Default.Save();
            base.OnHandleDestroyed(e);
        }

        bool isRunning = false;
        private void Start_click(object sender, EventArgs e)
        {
            isRunning = !isRunning;
            UpdateUI();
        }

        void UpdateUI()
        {
            StartBtt.Text = isRunning ? "Stop" : "Start";
            UpdateDisplayInformation();
            ChangeMonitorBtt.Text = ("Monitor [" + monitor + "] " + xSize + "x" + ySize);
            AimkeyBtt.Text = Enum.GetName(typeof(AimKey), mainAimKey);
        }

        private void MonitorChanged(object sender, EventArgs e)
        {
            monitor++;
            if (monitor >= Screen.AllScreens.Length) {
                monitor = 0;
            }
            SetKey(nameof(monitor), monitor);
            UpdateUI();
        }

        private void IsAimKeyChanged(object sender, EventArgs e)
        {
            isAimKey = AimKeyToggle.Checked;
            SetKey(nameof(isAimKey), isAimKey);
        }

        private void IsHold_changed(object sender, EventArgs e)
        {
            isHold = IsHoldToggle.Checked;
            SetKey(nameof(isHold), isHold);
        }

        private void AimKeyDrop(object sender, EventArgs e)
        {
            Point screenPoint = AimkeyBtt.PointToScreen(new Point(AimkeyBtt.Left, AimkeyBtt.Bottom));
            // contextMenuStrip1.Items.AddRange(new ToolStripItem[] { new ToolStripItem() { } });
            if (screenPoint.Y + contextMenuStrip1.Size.Height > Screen.PrimaryScreen.WorkingArea.Height) {
                contextMenuStrip1.Show(AimkeyBtt, new Point(0, -contextMenuStrip1.Size.Height));
            }
            else {
                contextMenuStrip1.Show(AimkeyBtt, new Point(0, AimkeyBtt.Height));
            }

        }

        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {

        }

        private void OffsetY_changed(object sender, EventArgs e)
        {
            offsetY = (int)offsetNum.Value;
            SetKey(nameof(offsetY), offsetY);
        }

        private void label5_Click(object sender, EventArgs e)
        {

        }

        private void FireRate_changed(object sender, EventArgs e)
        {
            msShootTime = (int)FireRateNum.Value;
            SetKey(nameof(msShootTime), msShootTime);
        }
    }
}
Решил чуть усложнить задачу добавив несколько ошибок, даже пастеры легко смогут закомпилить код. Также есть информация что Vanguard проверяет лишь LLMHF_INJECTED, знающим может помочь в будущих скриптах.
 
Последнее редактирование модератором:
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,385
Реакции[?]
1,881
Поинты[?]
36K
Фулл паста, которую даже не проверил. Оно работать не будет.
 
Сверху Снизу