GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Проблема с фильтром "свой чужой"

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (вопросы и ответы)
    19 Сообщения 4 Posters 114 Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • HaarfusH
      Haarfus
      отредактировано

      Всем привет. Вышла игруля Warhammer 40,000 Dawn of War - Definitive Edition. Читов пока нет. Решил попробовать сам. Но столкнулся с проблемой. На изображении синие это игрок, а красные враги. Я хотел сделать фильтр на первый 0 в столбце (если он вообще сработает). Но там 2 оффсета и я не знаю, что с ними делать. Обычно мне приходилось работать только с одним и срабатывало. А тут мне не хватает опыта, чтобы сделать фильтр с двумя и более оффсетами. Если важно, то функция movss [rcx+28], xmm0. И эти оффсеты из rcx.
      Описание

      DieVisD 1 ответ Последний ответ Ответить Цитировать 0
      • DieVisD
        DieVis @Haarfus
        отредактировано

        @Haarfus А в 7.5 такое окно есть?
        Впервые вижу 😅
        На сколько помню по старой версии и Dark Crusade, там 2 или 3 id по которым определяется мы и враги, вот id старой версии: 1000-1007, 1101, 50000-50007 или 50010

        HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
        • HaarfusH
          Haarfus @DieVis
          отредактировано

          @DieVis мне важно разобраться, как записать в скрипт именно несколько оффсетов которые на скриншоте.

          DieVisD 1 ответ Последний ответ Ответить Цитировать 0
          • DieVisD
            DieVis @Haarfus
            отредактировано

            @Haarfus Типа такого?

            {$lua}
            [ENABLE]
            local function set_coords(timer)
            Speedhack = readFloat('[[["game.exe"+69B2F8]+4]+50]-320')
            
            if (IsKeyPressed(96)) then
            	writeFloat('[[["game.exe"+69B2F8]+4]+50]-320',5)
            end
            if (IsKeyPressed(97)) then
            	writeFloat('[[["game.exe"+69B2F8]+4]+50]-320',5.5)
            end
            if (IsKeyPressed(98)) then
            	writeFloat('[[["game.exe"+69B2F8]+4]+50]-320',9)
            end
            if (IsKeyPressed(99)) then
            	writeFloat('[[["game.exe"+69B2F8]+4]+50]-320',18)
                end
            end
            stepTimer = createTimer(nil, false)
            stepTimer.Interval = 1
            stepTimer.OnTimer = set_coords
            stepTimer.Enabled = true
            
            
            [DISABLE]
            stepTimer.destroy()
            
            HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
            • HaarfusH
              Haarfus @DieVis
              отредактировано

              @DieVis Не знаю. Я в луа не силен. Но типа да, надо записать указатель, чтобы отделить игрока от врага.

              lagariumL 1 ответ Последний ответ Ответить Цитировать 0
              • lagariumL
                lagarium @Haarfus
                отредактировано

                @Haarfus
                вот на видео чувак показует 2 смещения для фильтра
                https://www.youtube.com/watch?v=fFHrJPnAY_g

                HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
                • HaarfusH
                  Haarfus @lagarium
                  отредактировано Haarfus

                  @lagarium https://www.youtube.com/watch?v=KVTOD0YWuSM
                  Тут правильнее показано и с объяснениями) Но я теперь понял...почти...как это делается правильно) Но не работает) Игра закрывается) Но принцип понял)

                  lagariumL 1 ответ Последний ответ Ответить Цитировать 0
                  • lagariumL
                    lagarium @Haarfus
                    отредактировано

                    @Haarfus может с регистрами на химичил и вылетает игра

                    HaarfusH 4 ответов Последний ответ Ответить Цитировать 0
                    • HaarfusH
                      Haarfus @lagarium
                      отредактировано

                      Это сообщение удалено!
                      1 ответ Последний ответ Ответить Цитировать 0
                      • HaarfusH
                        Haarfus @lagarium
                        отредактировано

                        Это сообщение удалено!
                        1 ответ Последний ответ Ответить Цитировать 0
                        • HaarfusH
                          Haarfus @lagarium
                          отредактировано

                          Это сообщение удалено!
                          1 ответ Последний ответ Ответить Цитировать 0
                          • HaarfusH
                            Haarfus
                            отредактировано

                            Это сообщение удалено!
                            1 ответ Последний ответ Ответить Цитировать 0
                            • HaarfusH
                              Haarfus
                              отредактировано

                              Это сообщение удалено!
                              1 ответ Последний ответ Ответить Цитировать 0
                              • HaarfusH
                                Haarfus @lagarium
                                отредактировано Haarfus

                                @lagarium Тут проблема вылезла в том, что солдаты бессмертны) Враги нет) Но когда строишь здание, то игра вылетает) Я так понял для зданий надо искать что то другое) А для солдат отдельное) Принцип записи указателя в скрипт, я понял) Буду думать) Хотя понял не до конца и было бы прекрасно, если бы кто то из русских написал, как правильно вписывать указатели в скрипт где надо делать фильтр)
                                C регистрами тоже мог накосячить) В видео говорится, что можно брать любой, кроме используемого в данный момент) Я вместо ECX взял на обум EBX) Мужик в видео сказал, что разницы то особо нет) Можно брать любой)
                                И вот еще странность есть. Даже без указателей есть явные отличия игрока от врага. Но когда ставишь цифру в фильтр, то все равно и игрок и враг бессмертны. Хотя отличия по значениям явные. Почему враг тоже бессмертен, хотя цифра у него другая, не понятно.

                                DieVisD 1 ответ Последний ответ Ответить Цитировать 0
                                • DieVisD
                                  DieVis @Haarfus
                                  отредактировано

                                  @Haarfus Покопался чуток,
                                  Я сделал вот так.

                                    cmp [rsi+8],#1000 //Me
                                    jne @f
                                    mov [S_P],rsi
                                  
                                  @@:
                                    cmp [rsi+8],#1003 //Neutral
                                    jne @f
                                    mov [S_P_N],rsi
                                  @@:
                                    cmp [rsi+8],#1001 //Enemy
                                    jne code
                                    mov [S_P_E],rsi
                                  

                                  Можешь глянуть таблицу для Rimworld от mece
                                  У него в скриптах может быть то что тебе нужно.

                                  HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
                                  • HaarfusH
                                    Haarfus @DieVis
                                    отредактировано

                                    @DieVis Спасибо. Тему можно закрывать. Указатели вписывать в скрипт я научился, осталось только разобраться с флагами, которые ты используешь. Как, когда и зачем их использовать. Но это уже другой вопрос и думаю разберусь.

                                    DieVisD 1 ответ Последний ответ Ответить Цитировать 0
                                    • DieVisD
                                      DieVis @Haarfus
                                      отредактировано

                                      Пользователь @Haarfus написал в Проблема с фильтром "свой чужой":

                                      Указатели вписывать в скрипт

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

                                      HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
                                      • HaarfusH
                                        Haarfus @DieVis
                                        отредактировано Haarfus

                                        @DieVis Допустим мне надо сделать фильтр по указателю в регистре RCX - 108 4F8 BE4 где игрок это 503, а враги 0 (третья строка снизу на скриншоте).

                                        Снимок экрана 2025-08-16 172030.png

                                        Если правильно понял, то запишется это вот так:

                                        newmem:
                                          push rbx
                                          mov rbx,[rcx+108]
                                          mov rbx,[rbx+4F8]
                                          cmp [rbx+BE4],#503
                                          pop rbx
                                          jne code
                                          jmp return
                                        
                                        code:
                                          movss [rcx+28],xmm0
                                          jmp return
                                        

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

                                        1 ответ Последний ответ Ответить Цитировать 1
                                        • Partizan1078P
                                          Partizan1078
                                          отредактировано

                                          Это сообщение удалено!
                                          1 ответ Последний ответ Ответить Цитировать 0
                                          • Первое сообщение
                                            Последнее сообщение