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

    Многоуровневый указатель в скрипте автоассемблера Cheat Engine

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

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

      [ENABLE]
      //code from here to '[DISABLE]' will be used to enable the cheat
      
       
       
      aobscanmodule(patron2,lithtech.exe,8B 56 3C 57 83 C2 40) // should be unique
      alloc(newmem,$4000)
      
      label(code)
      label(patr2)
      registersymbol(patr2)
      label(return)
      
      newmem:
      push edx
      xor edx,edx
      lea edx,["lithtech.exe"+00014238]
      mov edx,[edx]
      lea edx,[edx+2C]
      mov edx,[edx]
      lea edx,[edx+D0]
      lea edx,[edx+6C]
      mov edx,[edx]
      lea edx,[edx+4]
      mov edx,[edx]
      lea edx,[edx+C]
      //mov edx,[edx] // -------- если это раскоментить, то  игра падает и в patr2 нули.
      //lea edx,[edx+8]
      mov dword ptr [patr2],edx
      pop edx
        mov edx,[esi+3C]
        push edi
        add edx,40
        jmp return
      
      code:
        //mov edx,[esi+3C]
        //push edi
        //add edx,40
        //jmp return
      
      patr2:
      dd 0
      
      patron2:
        jmp newmem
        nop 2
      return:
      registersymbol(patron2)
      
      [DISABLE]
      //code from here till the end of the code will be used to disable the cheat
      patron2:
        db 8B 56 3C 57 83 C2 40
      
      unregistersymbol(patron2)
      unregistersymbol(patr2)
      dealloc(newmem)
      
      LIRWL 1 ответ Последний ответ Ответить Цитировать 0
      • LIRWL
        LIRW @Iniar
        отредактировано

        Пользователь @Iniar написал в Многоуровневый указатель в скрипте автоассемблера Cheat Engine:

        если это раскоментить, то игра падает и в patr2 нули.

        Скрипт просто (Фантастик) :)
        test еdx,edx
        jz > original code поставь над ней и всё....

        I 2 ответов Последний ответ Ответить Цитировать 0
        • I
          Iniar @LIRW
          отредактировано

          @LIRW Велосипед тоже не мотоцикл, но ведь ездит.:+1: А у меня пока спустило колёса на моём "велосипеде" и нужна помощь.:blush:
          Можно подробней про интеграцию test edx,edx?
          Как это связано с крашем игры при многоуровневом указателе в скрипте? Игра крашится когда в patr2 попадают нули что-ли или в чём причина? Заметил, что игра падает когда я дохожу до какого-то ошибочного указателя и он попадает в edx, но почему краш? Я ведь ещё не дохожу до основных инструкций кода игры и patr2 не заполняется во время краша.

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

            @LIRW и ради моего общего развития пожалуйста напишите всё же как можно более работоспособно прописать многоуровневый указатель в скрипте, раз вы обладаете такими знаниями. (У меня указатель из 7 ступеней состоит)

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

              Ещё так можно.
              lea rdx,[[[[["Tutorial-x86_64.exe"+325B00]+10]+18]+0]+18]

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

                @Partizan1078 Спасибо. Я так тоже пробовал, но сейчас уже понял, что не срабатывал скрипт потому как по одному из смещений в таком варианте видимо было пусто вместо адреса. С постоянно рабочим указателем такой вариант срабатывает.

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