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

Bo0m21

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

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

  • Посещение

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

  1. Слушай а можно как нибудь разобраться в том почему проблемы у меня? Хотелось бы сделать экстернал и не использовать готовую подсветку а рисовода самому, только вот проблема со считыванием игроков.

     

    Можно твои контакты? Скайп телегу?

  2. Я уже испробовал много способов по смещению и всему остальному и это работает не правильно, и пока не могу понять в чем дело.

     

    Тут вопрос такой, как найти всех отзеркаленных игроков или наоборот постоянных?

     

    Возможно на форуме есть кто нибудь кто делал эксиклнал чит и может что то подсказать. Листок я хочу сделать все через экстернат и дописать аим и разброс. Так как лично я не видел таких витков на эту игру и поэтому есть интерес сделать подобне. 

  3. Всем привет! Ребят занимаюсь написанием экстелнал чита для игры и наблюдаю проблему, она заключается в том что некоторые  игроки или монстры просто не читаются.

    Хотя большая асть читается и работает правильно. Кто с таким сталкивался? И как быть в подобной ситуации?

     

    Спойлер
    
        public static class Offsets
        {
            // Client dll
            public static readonly int PlayerLocal = 0x007094D8;
            public static readonly int PlayersList = 0x0071A044;
            public static readonly int PlayersListCount = 0x00824D14;
     
            public static readonly int PlayerNext = 0x10;
     
            public static readonly int PlayerHealth = 0xEC;
            public static readonly int PlayerCommand = 0xE4;
            public static readonly int PlayerСoordinates = 0x94;
            public static readonly int PlayerCoordinatesView = 0xF4;
     
            // Engine dll
            public static readonly int ViewMatrixBase = 0x00605EEC;
            public static readonly int ViewMatrix = 0x2E4;
        }
     
        public static class Players
        {
            public static PlayerModel LocalPlayer;
            public static List<PlayerModel> AllPlayers;
     
            private static byte[] buffer;
     
            /// <summary>
            ///     Update local player
            /// </summary>
            public static void UpdatePlayerLocal()
            {
                PlayerModel newLocalPlayer = new PlayerModel();
     
                MemoryHelpers.ReadMemory(Game.ClientdllAdress + Offsets.PlayerLocal, 4, out buffer);
                newLocalPlayer.Adress = BitConverter.ToInt32(buffer, 0);
     
                MemoryHelpers.ReadMemory(newLocalPlayer.Adress + Offsets.PlayerHealth, 4, out buffer);
                newLocalPlayer.Health = BitConverter.ToInt32(buffer, 0);
     
                MemoryHelpers.ReadMemory(newLocalPlayer.Adress + Offsets.PlayerCommand, 4, out buffer);
                newLocalPlayer.Command = BitConverter.ToInt32(buffer, 0);
     
                newLocalPlayer.Coordinates = new float[3];
                for (int i = 0; i < 3; i++)
                {
                    MemoryHelpers.ReadMemory(newLocalPlayer.Adress + Offsets.PlayerСoordinates + i * 4, 4, out buffer);
                    newLocalPlayer.Coordinates[i] = BitConverter.ToSingle(buffer, 0);
                }
     
                newLocalPlayer.CoordinatesView = new float[3];
                for (int i = 0; i < 3; i++)
                {
                    MemoryHelpers.ReadMemory(newLocalPlayer.Adress + Offsets.PlayerCoordinatesView + i * 4, 4, out buffer);
                    newLocalPlayer.CoordinatesView[i] = BitConverter.ToSingle(buffer, 0);
                }
     
                newLocalPlayer.ViewMatrix = new float[4, 4];
                MemoryHelpers.ReadMemory(Game.EnginedllAdress + Offsets.ViewMatrixBase, 4, out buffer);
                int viewMatrixAdress = BitConverter.ToInt32(buffer, 0);
                for (int i = 0; i < 4; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        MemoryHelpers.ReadMemory(viewMatrixAdress + Offsets.ViewMatrix + (i * 16) + (j * 4), 4, out buffer);
                        newLocalPlayer.ViewMatrix[i, j] = BitConverter.ToSingle(buffer, 0);
                    }
                }
     
                LocalPlayer = newLocalPlayer;
            }
     
            /// <summary>
            ///     Update all players
            /// </summary>
            public static void UpdateAllPlayer()
            {
                int playersCount = 4096;  // TODO: Rewrite get count players
                List<PlayerModel> newPlayers = new List<PlayerModel>();
     
                for (int i = 0; i < playersCount; i++)
                {
                    PlayerModel player = new PlayerModel();
     
                    MemoryHelpers.ReadMemory(Game.ClientdllAdress + Offsets.PlayersList + i * Offsets.PlayerNext, 4, out buffer);
                    player.Adress = BitConverter.ToInt32(buffer, 0);
     
                    MemoryHelpers.ReadMemory(player.Adress + Offsets.PlayerHealth, 4, out buffer);
                    player.Health = BitConverter.ToInt32(buffer, 0);
     
                    MemoryHelpers.ReadMemory(player.Adress + Offsets.PlayerCommand, 4, out buffer);
                    player.Command = BitConverter.ToInt32(buffer, 0);
     
                    // Check Health and Command player
                    if (player.Health == 0 || player.Command == 0)
                    {
                        continue;
                    }
     
                    player.Coordinates = new float[3];
                    for (int j = 0; j < 3; j++)
                    {
                        MemoryHelpers.ReadMemory(player.Adress + Offsets.PlayerСoordinates + j * 4, 4, out buffer);
                        player.Coordinates[j] = BitConverter.ToSingle(buffer, 0);
                    }
     
                    player.CoordinatesView = new float[3];
                    for (int j = 0; j < 3; j++)
                    {
                        MemoryHelpers.ReadMemory(player.Adress + Offsets.PlayerCoordinatesView + j * 4, 4, out buffer);
                        player.CoordinatesView[j] = BitConverter.ToSingle(buffer, 0);
                    }
     
                    newPlayers.Add(player);
                }
     
                AllPlayers = newPlayers;
            }
        }

     

     

     

    image.png

  4. Всем привет. Пошел 4 день как я пытаюсь найти структуру зомби в игре Left 4 dead 2.

    Она мне нужна для отрисовки зомби(wh). Если есть знающие или те кто уже искал ее то прошу помощи.

     

    И еще один вопрос. Для аима мне нужно проверку на видимость зомби. Кто нибудь на форуме ее реализовывал?

    Сколько я читал на других форумах все равно не пойму как ее реализовать. Тоже с этим прошу помочь.

  5. 8ff6b50468154094af02c8c181881142.png

    Итак друзья, благодаря моим усилиям проблема нашлась.

    Перепробовав 3 игры, стим не стим я нашел проблему, она пряталась в самой матрице.

    Тщательнее проверяйте матрицу. Если у вас будет выдавать какие то космические значения то у вас просто не верный адрес.

    В этом вообщем ничего сложного нету. Спасибо всем кто помогал :)

  6. Только что, ШАРИК сказал:

    Вот сейчас многим обидно было...

    Это написал все таки он и все таки может у него такое было.

    Никто вообще с таким не сталкивался и никто не может понять откуда эти значения берутся

    Я никого не хотел обидеть просто тот кто писал код может я думаю в таких проблемах разобраться.

    Хотя хз. Точно такой же код я видел у одного зарубежного ютубера.

  7. Кину еще скрин к посту выше. Уже скрин с кски что ничего не работает.

    52ca427bbcd4481c8bc66abb25b54c4c.png

     

    На скрине код, игроки их координаты и места где должно что отрисоваться

    Это все я думаю поймут и увидят в коде. Но вот такие проблемы...

    Видимо с этим может помочь только Кенг

  8. 5 минут назад, 2zolo2 сказал:

    Bo0m21, значит в коде, где-то ошибка, проверь весь код на неправильные значения.

    37df36d3cbbf4d39a03ef391629a4ca1.png

     

    Как ты скажешь на то что...

    Я взял код полностью с https://github.com/remizovm/keng_esp_hack/blob/master/esp.c

    При этом в коде, в рабочем коде я ничего не менял кроме оффсетов. Повторюсь что ничего.

    Координаты полностью идентичны тому что выдает у меня в программе на шарпе.

    Ошибки в коде быть не может. На матрицу оффсеты правильные, других там просто нету.

    Меня напрягают в матрице значения по 2-5к. Видимо с ними что то не так.

    Просто я уверен был в своем коде, я понимал что и как происходит  что он делает.

    И ошибки быть не могло как ни крути. Вообщем ошибка есть, не пойми где. Будем искать

    Если у кого нибудь возникала подобная ситуация, отпишитесь пожалуйста

  9. 7 минут назад, ШАРИК сказал:

    Будь у меня left 4 dead , я бы проверил , а так только пример из жизни привёл...

    Ну вообщем видимо как ты и говорил, что то не то

    2a5e19fef0324407bf4347ea22fcf7b2.png

    Странно почему так выводит. Вот там смотри матрица и координаты по которым должно рисовать

    Ноо они очень больште для моего окна

    P.s обновил скрин. Вот по таким кордам должно рисовать

  10. 2 минуты назад, ШАРИК сказал:

    У любого человека есть право на ошибку...И если вдруг что , не пеняй на меня -_-
    Посмотри в CE, что находится по адресу значения видовой матрицы (по адресу элемента массива ,который тебе нужен (там их 16))
    Если не совпадает со значением выведенным в консоль , то ищи в интернете рабочую функцию world_to_screen .
    А если значение в CE совпадает с выведенным в консоль значением , то я не виноват...

    А что за функция в консоли? 

    Я конечно проверю, но она гарантированно правильная, там ничего не изменено кроме приведения типов.

    В инете смотрел другую видовую матрицу, они идентичны.

  11. 2 часа назад, ШАРИК сказал:

    Размер окна игры правильно получаешь ?Я когда esp делал у меня криво отображалось значение хп из-за этого.

    Да, я абсолютно все получаю правильно. Меня напрягает те значения 5136, 3573 ...

    Они очень большие и мне кажется проблема в них и кроется.потому что я когда смотрел видео и гайды то там было не больше -500

    У меня же за 5000 уходит. Вообщем жду ответа знающих людей.

  12. 3 часа назад, Xipho сказал:

    А если попробовать найти координаты не игроков, а текстовых ников над ними, и свои данные записывать в эти тексты? тогда они автоматически будут туда подставляться.

    Не e всех есть тестовые ники. Например у такнка его нет.

    И у обычных зомби тоже, там только координаты. Тогда как быть?

     

  13. Итак, снова всем привет. дошел до того что написал чит и уже работаю с видовой матрицей.

    Проблема в чем... Матрицу нашел все хорошо, хп рисуется. Но вот в чем проблема

     

    80307a0206054c309aceac05d7c2798e.png

     

    Оно рисуется вообще не в тех местах которых нужно. Я тут подумал что для каждой игры игровую матрицу нужно

    будет подпиливать. Это так или нет? И если кто знает, подскажите в чем проблема.

    Вот собственно код кенга, который немного перевел под шарп, использую его.

            public static int world_to_screen(float[] from, out float[] to) {
                to = new float[3];

                float w = 0.0f;
                to[0] = viewMatrix[0, 0] * from[0] + viewMatrix[0, 1] * from[1] + viewMatrix[0, 2] * from[2] + viewMatrix[0, 3];
                to[1] = viewMatrix[1, 0] * from[0] + viewMatrix[1, 1] * from[1] + viewMatrix[1, 2] * from[2] + viewMatrix[1, 3];
                w = viewMatrix[3, 0] * from[0] + viewMatrix[3, 1] * from[1] + viewMatrix[3, 2] * from[2] + viewMatrix[3, 3];

                if (w < 0.01f)
                    return 0;

                return 1;

                float invw = 1.0f / w;
                to[0] *= invw;
                to[1] *= invw;
                int width = (int)(windowRectangle.Right - windowRectangle.Left);
                int height = (int)(windowRectangle.Bottom - windowRectangle.Top);
                float x = width / 2;
                float y = height / 2;
                x += Convert.ToSingle(0.5 * to[0] * width + 0.5);
                y -= Convert.ToSingle(0.5 * to[1] * height + 0.5);
                to[0] = x + windowRectangle.Left;
                to[1] = y + windowRectangle.Top;
                return 1;
            }

    В нем ничего не изменилось, но почему то большие косяки с выводом.

    И если кому надо https://github.com/remizovm/keng_esp_hack/blob/master/esp.c

    Чит с ксго с которого был взят пример.

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

    Тогда единственный вариант прогонять все адреса через поиск указателей, а так без разницы какая версия игры, все делается аналогично, для всех игр на соурс движке.

    Ну я вот искал скрин выше и там ничего ненаходит. Я вообще не понимаю как быть сейчас и что делать.

    может все таки ты попробуешь через меня найти эти указатели?

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

     

    Как оказалось, теперь смещение номера команды стоит до здоровья, раньше вроде было после, видимо я сбил тебя.

    На видео с генерировал карту указателей, это не нужно просто мисклик

     

    Вообщем, ничего нового  не увидел. Я делал тоже самое но суть в том что у меня этого нету.

    Версия у нас одинаковая, но у меня игра пиратская и идет не по стиму. Видимо проблемы в этом.

    И поэтому я никак не могу найти нужную стуктуру. Как мне быть с пираткой? Как там найти то что мне надо?

  16. 18 минуту назад, partoftheworlD сказал:

    Да компанию, но если зайти в онлайн все работает. Просто там 2 почти одинаковых адреса один работает с server.dll, второй с client.dll. Который относится server.dll он находит 3 указателя расположенные в server.dll, второй адрес уже найдет все для client.dll.

    У меня нет скайпа, могу записать как искал.

    Давай для онлайна. Сделаю в точности как у тебя будет.

    А что есть? Как связаться можно кроме форума? Голосом

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

    Ну вот смотри.
    pQ4P56qyhQ8.jpg

    Это ты создал просто комапнию же? Очень странно что у меня ничего не находит.

    Слушай может давай я тебе в скайпе все покажу а то я вообще в тупике.

    Я делал тоже самое у меня ничего не находило.

  18. 9 минут назад, partoftheworlD сказал:

    в памяти номер команды и здоровья лежат рядом, если адрес верный. у номерка команды значения вроде бы 2  когда за зомби играешь и 1 когда за людей.

    А ты про этот. Да все есть все лежит адрес на скрине висит - он правильный. Вот как то теперь надо найти этот (client.dll+0xXXXXXX)

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

    Значит адрес здоровья не верный. Для поиска создаешь локальный сервер с ботами, ищешь здоровье свое, нажимаешь ctrl+b в ce откроется просмотр памяти, проверяешь есть ли по близости номер команды, если есть, то это адрес тебе нужен, если нет ищешь другой.

     

    Значит адрес здоровья не верный. - Ну он верный точно, ну допустим что не верный

    Для поиска создаешь локальный сервер с ботами - я сейчас в онлайн на сервере

    проверяешь есть ли по близости номер команды - вот тут не понял что за номер команды?

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

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

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