Перейти к содержанию

XenonH

Пользователи
  • Постов

    31
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные XenonH

  1. 2 минуты назад, partoftheworlD сказал:

     

    точно так же как и любой другой, выйти на него можешь на прямую через id(список я кинул выше), находишь значение, сканер указателей 1 уровень, найдешь указатель на weapon id. Который будет выглядеть как указатель на структуру(DT_BaseCombatWeapon) + смещение до id

    А программно как? Вот bClient это Client.dll. Playerbase это bClient + dwPlayerBase

  2. 21 минуту назад, partoftheworlD сказал:
    
    DT_BaseCombatWeapon -> m_iWeaponID
    DT_BasePlayer -> m_hActiveWeapon
    

    А как сделать чтобы выводило в string. Допустим awp. Как высчитать? Мне нужно узнать какое оружие в руках у себя, чтобы проверять - Если в руках авп или ссг рисуем прицел.

  3. 1 минуту назад, mrPTyshnik сказал:

    Создание хацка через overlay - это наложение прозначного Window(окна) на окно игры и дальнейшая разрисовка этого прозрачного окна, используя примитивы.
    Моя идея заключается в том, чтобы это прозрачное окно было всегда активным "поверх всех окон". 


    Если не могёшь дотянуться до свойств созданного тобою же окна, юзай SetWindowPos (MSDN)
    SetWindowPos(Handle, HWND_NOTOPMOST,
    Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE),

    где HWND_TOPMOST - Places the window above all non-topmost windows. The window maintains its topmost position even when it is deactivated.

    Не берусь утверждать, что это решит твою проблему, но попробовать стоит.

    Я же говорю у меня консольное приложение.

  4. 2 часа назад, elvis66666 сказал:

    Возможно при переходе из borderless в fullscreen пересоздается девайс и поэтому крашится)

    Игра не крашится. Просто не рисует вообще. А когда в окне. Линии рисуется даже поверх вк, рабочего стола и т.д.

  5. Скрытый текст
    
    using System;
    using System.Drawing;
    using System.Diagnostics;
    using DirectXOverlayWindow;
    using System.Numerics;
    
    namespace ESP_Box
    {
        class Program
        {
            private static OverlayWindow window;
            private static Matrix4x4 VMatrix = Matrix4x4.Identity;
    
            private static int bClient;
    
            private static int espFont = -1;
            private static int redBrush = -1;
            private static int greenBrush = -1;
    
            private static Memory mem;
    
            internal static ScreenVector WorldToScreen(float x, float y, float z)
            {
                float w;
                float sx;
                float sy;
    
                sx = VMatrix.M11 * x +
                     VMatrix.M12 * y +
                     VMatrix.M13 * z +
                     VMatrix.M14;
    
                sy = VMatrix.M21 * x +
                     VMatrix.M22 * y +
                     VMatrix.M23 * z +
                     VMatrix.M24;
    
    
                w = VMatrix.M41 * x +
                    VMatrix.M42 * y +
                    VMatrix.M43 * z +
                    VMatrix.M44;
    
                if (w < 0.01f)
                    return new ScreenVector()
                    {
                        Result = false,
                        X = 0,
                        Y = 0
                    };
    
                float invw = 1f / w;
                sx *= invw;
                sy *= invw;
    
                int width = window.Width;
                int height = window.Height;
    
                float xt = width / 2;
                float yt = height / 2;
    
                xt += 0.5f * sx * width + 0.5f;
                yt -= 0.5f * sy * height + 0.5f;
    
                sx = xt;
                sy = yt;
    
    
                return new ScreenVector()
                {
                    Result = true,
                    X = sx,
                    Y = sy
                };
            }
    
            static void Main()
            {
                while (!GetDll()) { }
    
                Console.WriteLine("ESP ON");
    
                while (true)
                {
                    window.Graphics.BeginScene();
                    window.Graphics.ClearScene();
    
                    int scx = window.Width / 2 - 1;
                    int scy = window.Height / 2 + 11;
    
                    window.Graphics.DrawBox3D(scx, scy, 3, 3, 1, 1, redBrush, redBrush);
    
                    int PlayerBase = mem.Read<int>(bClient + Offsets.m_dwLocalPlayer);
                    int LocalTeam = mem.Read<int>(PlayerBase + Offsets.m_iTeamNum);
                    int LocalHp = mem.Read<int>(PlayerBase + Offsets.m_iHealth);
                    bool LocalDormant = mem.Read<bool>(PlayerBase + Offsets.m_bDormant);
    
                    if (LocalDormant || LocalHp == 0)
                        continue;
    
    
                    VMatrix = mem.Read<Matrix4x4>(bClient + Offsets.m_dwViewMatrix);
                    for (int i = 0; i <= 64; i++)
                    {
                        int EntityBase = mem.Read<int>(bClient + Offsets.m_dwEntityList + (i - 1)*0x10);
                        int EntityTeam = mem.Read<int>(EntityBase + Offsets.m_iTeamNum);
                        int EntityHp = mem.Read<int>(EntityBase + Offsets.m_iHealth);
                        bool EntityDormant = mem.Read<bool>(EntityBase + Offsets.m_bDormant);
    
                        if (EntityDormant || EntityTeam == LocalTeam || EntityHp == 0)
                            continue;
    
                        Vector3 EntityPos = mem.Read<Vector3>(EntityBase + Offsets.m_vecOrigin);
    
                        ScreenVector sv = WorldToScreen(EntityPos.X, EntityPos.Y, EntityPos.Z);
    
                        if (!sv.Result)
                            continue;
    
                        int ex = (int)sv.X;
                        int ey = (int)sv.Y;
    
                        int sx = window.Width / 2;
                        int sy = window.Height - 10;
    
                        window.Graphics.DrawLine(sx, sy, ex, ey, 2, redBrush);
                        window.Graphics.DrawText(EntityHp.ToString(), espFont, greenBrush, ex, ey);
                    }
    
                    window.Graphics.EndScene();
                }
            }
    
            private static bool GetDll()
            {
                try
                {
                    Process csgo = Process.GetProcessesByName("csgo")[0];
    
                    foreach (ProcessModule module in csgo.Modules)
                    {
                        if (module.ModuleName == "client.dll")
                        bClient = (int)module.BaseAddress;
                    }
    
                    window = new OverlayWindow(csgo.MainWindowHandle);
    
                    redBrush = window.Graphics.CreateBrush(Color.Red);
                    greenBrush = window.Graphics.CreateBrush(Color.Lime);
                    espFont = window.Graphics.CreateFont("Tamoha", 12);
    
                    mem = new Memory("csgo");
    
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
    }

     

  6. А я делал на свои хп. Обязательно нужно на хп бота?

     

    А на противнике можно?

     

    Янашёл только двух игроков. А коородинаты только два float а потом еще ниже и там еще два флоат которые при ходьбе ботов изменяются

     

    Чтобы написать что - то мне нужно изучить MSDN?

  7. Такая вот проблема. Нашёл два указателя здоровья. Как найти структуру? Я зашёл, создал структуру и ищу поинтеры открываю и ищу нужное смещение, но везде в значениях указано ненужное либо какой - то указатель

  8. Окей, я совсем в этом новичок. Что тогда посоветуете? Хочу допустим на браузерную игру написать чит (Контра Сити). нужный процесс - процесс браузера? Пытался отсканить точным значением, но ничего не нашёл. Как же быть? Мне даже не нужно что - то рисовать. Просто вывести хп на экран и чтобы фиксировались на игроке (и было бы как вх)

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.