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

    Как при отключении скрипта вернуть или (записать) в адрес значение ?

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (начинающим)
    18 Сообщения 3 Posters 229 Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • G
      garik66 @LIRW
      отредактировано

      @LIRW первый скрипт, это и есть запись напрямую, со слов ТС это не сработало, видимо дальше по коду перезаписывается.
      с флагами более большой скрипт планировал предложить 3 вариантом.
      Второй мой скрипт это уже прыжок куда-надо, но ТС пока не отписался сработало или нет.

      LIRWL A 2 ответов Последний ответ Ответить Цитировать 1
      • LIRWL
        LIRW @garik66
        отредактировано

        @garik66 Игорь понял тебя. Пусть пробует тогда.

        1 ответ Последний ответ Ответить Цитировать 0
        • A
          Asusih @garik66
          отредактировано Asusih

          @garik66 ,это включает пол функции в игре. То есть вообще функция открывает все рецепты и бесплатный крафт, тут же не появляются все рецепты и крафт тоже не работает . С первым скриптом такая же ситуация (

          1 ответ Последний ответ Ответить Цитировать 0
          • A
            Asusih @LIRW
            отредактировано

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

              @garik66, он получается не меняет значение. То есть если добавить адрес в таблицу, то значение остается неизменным. Просто не совсем понимаю, почему просто нельзя в автоассемблере записать при выключении скрипта значение, или это делается через флаги ?

              G 2 ответов Последний ответ Ответить Цитировать 0
              • G
                garik66 @Asusih
                отредактировано garik66

                @Asusih судя, по описанному тобой, скрипт с флагом тоже скорее всего тебе не поможет.
                Но давай попробуем

                1. добавь скрипт в таблицу
                [ENABLE]
                alloc(newmem,2048,Player:UpdatePlacement+b23)
                label(returnhere)
                label(originalcode)
                label(exit)
                label(Flag)
                registersymbol(Flag)
                
                newmem:
                cmp [Flag],1
                jne @f
                mov [rdi+00000790] ,#1
                jmp originalcode
                
                @@:
                mov [rdi+00000790] ,0
                
                originalcode:
                movzx eax,byte ptr [rdi+00000790]
                
                exit:
                jmp returnhere
                
                Flag:
                dd 1
                
                Player:UpdatePlacement+b23:
                jmp newmem
                nop 2
                returnhere:
                
                [DISABLE]
                unregistersymbol(Flag)
                dealloc(newmem)
                Player:UpdatePlacement+b23:
                db 0F B6 87 90 07 00 00
                
                1. теперь нужно добавить в таблицу адрес Flag, после активации скрипта.
                  По умолчанию будет в нем 1, перед отключением скрипта в адресе нужно поставить в адресе Flag 0.
                1 ответ Последний ответ Ответить Цитировать 0
                • G
                  garik66 @Asusih
                  отредактировано

                  @Asusih отпишись, после проверки - интересно.

                  A 2 ответов Последний ответ Ответить Цитировать 1
                  • A
                    Asusih @garik66
                    отредактировано

                    @garik66 ,хорошо , чуть позже проверю

                    1 ответ Последний ответ Ответить Цитировать 0
                    • A
                      Asusih @garik66
                      отредактировано

                      @garik66 ,спасибо, это работает. Благодарен, вообще хотелось как писал, но думаю что так не получится, а так большое спасибо !

                      G 2 ответов Последний ответ Ответить Цитировать 1
                      • G
                        garik66 @Asusih
                        отредактировано

                        @Asusih для того чтобы сделать все в одном скрипте нужно изучать игровой код. В этом случае СЕ-ных логов не достаточно.

                        1 ответ Последний ответ Ответить Цитировать 0
                        • G
                          garik66 @Asusih
                          отредактировано

                          @Asusih и еще вариант:
                          Найти указатели на адрес и написать простейший скрипт

                          [ENABLE]
                          //code from here to '[DISABLE]' will be used to enable the cheat
                          mov[адрес с указателями],1
                           
                           
                          [DISABLE]
                          //code from here till the end of the code will be used to disable the cheat
                          mov[адрес с указателями],0
                          
                          A 1 ответ Последний ответ Ответить Цитировать 1
                          • A
                            Asusih @garik66
                            отредактировано

                            @garik66, оо, попытаюсь сделать,спасибо большое.

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