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

    Защита Трейнера

    Запланировано Прикреплена Закрыта Перенесена Решенные Вопросы, комментарии и обратная связь
    95 Сообщения 2 Posters 9.5k Просмотры 1 Watching
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • PitronicP Не в сети
      Pitronic Супер модераторы
      отредактировано Pitronic

      Понял что мне нужно дло полного эффекта.
      Нужна помощь с этим скриптом

      [ENABLE]
      aobscanmodule(Step1,Tutorial-i386.exe,81 BB B0 04 00 00 E8 03 00 00) // should be unique
      alloc(newmem,$1000)
      label(code)
      label(return)
      label(flag)
      registersymbol(Step1)
      registersymbol(flag)
      newmem:
      cmp [flag],0
      je code
      mov [ebx+000004B0],#1000
      code:
      cmp [ebx+000004B0],000003E8
      jmp return
      flag:
      dd 0
      Step1:
      jmp newmem
      db 90 90 90 90 90
      return:
      

      Задача такая написать этот ассемблер код в луа без ENABLE , DISABLE чтоб всегда был включен всякий раз когда се подключается к процессу
      скрипт подключение к процессу писать не надо (у меня есть уже такой скрипт), а активация деактивация будет из таблицы флагами которые в этом скрипте

      MasterGHM 1 ответ Последний ответ Ответить Цитировать 0
      • MasterGHM Не в сети
        MasterGH Администраторы @Pitronic
        отредактировано MasterGH

        Пользователь @Pitronic написал в Защита Трейнера:

        Задача такая написать этот ассемблер код в луа без ENABLE , DISABLE чтоб всегда был включен всякий раз когда се подключается к процессу

        Здесь пример из документации

        Здесь модифицированный пример

        local scriptStr = [[
        [ENABLE]
        {$lua}
        print('>ENABLE')
        {$asm}
        [DISABLE]
        {$lua}
        print('>DISABLE')
        {$asm}
        ]]
        
        local enabledOk, disableInfo = autoAssemble(scriptStr)
        
        if enabledOk then
          print('>The auto assembler script was enabled successfully.')
        else
          print('>There was an error enabling the auto assembler script.')
        end
        
        print(disableInfo)
        local disabledOk = autoAssemble(scriptStr, disableInfo)
        
        if disabledOk then
          disableInfo = nil
          print('>The auto assembler script was disabled successfully.')
        else
          print('>There was an error disabling the auto assembler script.')
        end
        

        Здесь результат

        ENABLE
        The auto assembler script was enabled successfully.
        DISABLE
        The auto assembler script was disabled successfully.

        Я думаю, что тут все понятно. И сделать под твою задачу будет просто 🙂

        1 ответ Последний ответ Ответить Цитировать 0
        • PitronicP Не в сети
          Pitronic Супер модераторы
          отредактировано

          Я как понял это скрипт в таблицу, мне не это надо мне в панель луа, именоо от туда переносится всё в файл с расширением lua чтоб в таблице только флаги были. У меня получился вариант влада. Скрипта lua в форме нет зато скрипты асм бери не хочу. вот сюда https://i.ibb.co/HCNNvZ4/lua.jpg мне надо скрипт асм написать

          MasterGHM 1 ответ Последний ответ Ответить Цитировать 0
          • MasterGHM Не в сети
            MasterGH Администраторы @Pitronic
            отредактировано

            Пользователь @Pitronic написал в Защита Трейнера:

            Я как понял это скрипт в таблицу

            Этот скрипт не в таблицу. Ты можешь писать свои флаги здесь

            local scriptStr = [[
            [ENABLE]
            // здесь твой флаг
            
            [DISABLE]
            // здесь твой флаг
            ]]
            local enabledOk, disableInfo = autoAssemble(scriptStr)
            
            if enabledOk then
              print('>The auto assembler script was enabled successfully.')
            else
              print('>There was an error enabling the auto assembler script.')
            end
            
            print(disableInfo)
            local disabledOk = autoAssemble(scriptStr, disableInfo)
            
            if disabledOk then
              disableInfo = nil
              print('>The auto assembler script was disabled successfully.')
            else
              print('>There was an error disabling the auto assembler script.')
            end
            
            PitronicP 1 ответ Последний ответ Ответить Цитировать 0
            • PitronicP Не в сети
              Pitronic Супер модераторы @MasterGH
              отредактировано Pitronic

              Пользователь @MasterGH написал в Защита Трейнера:

              // здесь твой флаг

              Сюда писать АА скрипт? Если не так понял напиши вот этот скрипт в месте с твоим, без DISABLE отключатся включатся будут флагами. ```
              [ENABLE]
              aobscanmodule(Step1,Tutorial-i386.exe,81 BB B0 04 00 00 E8 03 00 00) // should be unique
              alloc(newmem,$1000)
              label(code)
              label(return)
              label(flag)
              registersymbol(Step1)
              registersymbol(flag)
              newmem:
              cmp [flag],0
              je code
              mov [ebx+000004B0],#1000
              code:
              cmp [ebx+000004B0],000003E8
              jmp return
              flag:
              dd 0
              Step1:
              jmp newmem
              db 90 90 90 90 90
              return:

              1 ответ Последний ответ Ответить Цитировать 0
              • MasterGHM Не в сети
                MasterGH Администраторы
                отредактировано

                У меня другая версия CE

                local aa_script = [[aobscanmodule(INJECT,Tutorial-x86_64.exe,29 93 90 07 00 00) // should be unique
                alloc(newmem,$1000,"Tutorial-x86_64.exe"+2B2D7)
                alloc(newmem2,$1000,"Tutorial-x86_64.exe"+2B2D7)
                registersymbol(flag)
                label(code)
                label(return)
                
                newmem2:
                flag:
                dd 0
                
                newmem:
                
                code:
                  sub [rbx+00000790],edx
                  jmp return
                
                INJECT:
                  jmp newmem
                  nop
                return:
                
                registersymbol(INJECT)]]
                
                autoAssemble(aa_script)
                
                1 ответ Последний ответ Ответить Цитировать 0
                • PitronicP Не в сети
                  Pitronic Супер модераторы
                  отредактировано

                  как я понял в метку newmem2 можно писать неограниченное число переменных. Я правильно понял?

                  1 ответ Последний ответ Ответить Цитировать 0
                  • MasterGHM Не в сети
                    MasterGH Администраторы
                    отредактировано Pitronic

                    Да, можно. Скорее всего, желательно для флагов отдельную память делать. Чтобы флаги были выровнены по адресам и не смешивались с опкодами. Можно, этого и не делать. На твое усмотрение.

                    1 ответ Последний ответ Ответить Цитировать 0
                    • PitronicP Не в сети
                      Pitronic Супер модераторы
                      отредактировано

                      Попробовал этот вариант выскакивает такая ошибка![ошибка
                      ошибка.jpg
                      Где я напортачил? Или в коде ошибка, либо чегото не хватает?
                      Вот мой скрипт.

                      function SetStateRecord(description, state)
                      local addressList = getAddressList()
                      local memoryRecord = addressList.getMemoryRecordByDescription(description)
                      memoryRecord.Active = state
                      end
                      
                      timerAutorun = createTimer(nil,true)
                      timerAutorun.Interval = 1000
                      timerAutorun.OnTimer = function ()
                      
                      if (getProcessIDFromProcessName("game.exe")~=nil) then
                      OpenProcess("game.exe")
                      end
                      
                      if (getProcessIDFromProcessName("engine.exe")~=nil) then
                      OpenProcess("engine.exe")
                      end
                      
                      if (getProcessIDFromProcessName("PetShowCraze.exe")~=nil) then
                      OpenProcess("PetShowCraze.exe")
                      end
                      
                      if (getProcessIDFromProcessName("Pet Show Craze.exe")~=nil) then
                      OpenProcess("Pet Show Craze.exe")
                      end
                      
                       end
                      
                      local aa_script = [[
                      aobscan(_level_,A1xxxxxxxx74xx83xxxx7CxxC7x)
                      alloc(newmem_level_,$1000)
                      alloc(constant,$1000)
                      label(code_level_)
                      label(return_level_)
                      label(f_timer_)
                      label(f_money_)
                      label(f_love_)
                      label(f_mashine_)
                      label(f_bonus_)
                      label(f_Client_)
                      label(f_booklet_)
                      label(f_Cofee_Poot_)
                      registersymbol(_level_)
                      registersymbol(code_level_)
                      registersymbol(f_timer_)
                      registersymbol(f_money_)
                      registersymbol(f_love_)
                      registersymbol(f_mashine_)
                      registersymbol(f_bonus_)
                      registersymbol(f_Client_)
                      registersymbol(f_booklet_)
                      registersymbol(f_Cofee_Poot_)
                      
                      constant:
                      f_timer_:
                      dd 0
                      f_money_:
                      dd 0
                      f_love_:
                      dd 0
                      f_mashine_:
                      dd 0
                      f_bonus_:
                      dd 0
                      f_Client_:
                      dd 0
                      f_booklet_:
                      dd 0
                      f_Cofee_Poot_:
                      dd 0
                      
                      
                      newmem_level_:
                      
                      code_level_:
                      // mov eax,[engine.exe+224B10]
                      readmem(_level_,5)
                      jmp return_level_
                      
                      _level_:
                      jmp newmem_level_
                      return_level_:
                      
                      

                      Код не писал только чистый код, метки и флаги.

                      1 ответ Последний ответ Ответить Цитировать 0
                      • MasterGHM Не в сети
                        MasterGH Администраторы
                        отредактировано

                        Судя по названию ошибки нет закрывающих скобок для текста.
                        local aa_script =
                        [[
                        Здесь текст
                        ]]

                        1 ответ Последний ответ Ответить Цитировать 0
                        • PitronicP Не в сети
                          Pitronic Супер модераторы
                          отредактировано

                          У тебя какая версия се? На случай если опять будут ошибки, или не будет работать, я просто сделаю скрипт на туториале и скины табличку сюда, ты исправишь и вернёшь рабочий вариант, а у меня будет рабочий шаблон.

                          1 ответ Последний ответ Ответить Цитировать 0
                          • PitronicP Не в сети
                            Pitronic Супер модераторы
                            отредактировано Pitronic

                            Попробовал, ошибка уже не выскакивает. Но скрипт не активируется это видно по адресам флагов которые я добавил в таблицу. одни вопросы, а если скрипт бы сработал были бы нули, вы на какой версии се? Сделаю на туториале табличку скину вам. Вы поправите чтоб я видел как правильно.

                            1 ответ Последний ответ Ответить Цитировать 0
                            • PitronicP Не в сети
                              Pitronic Супер модераторы
                              отредактировано

                              вот мой скрипт

                              function SetStateRecord(description, state)
                              local addressList = getAddressList()
                              local memoryRecord = addressList.getMemoryRecordByDescription(description)
                              memoryRecord.Active = state
                              end
                              timerAutorun = createTimer(nil,true)
                              timerAutorun.Interval = 5000
                              timerAutorun.OnTimer = function ()
                              if (getProcessIDFromProcessName("game.exe")~=nil) then
                              OpenProcess("game.exe")
                              end
                              if (getProcessIDFromProcessName("engine.exe")~=nil) then
                              OpenProcess("engine.exe")
                              end
                              if (getProcessIDFromProcessName("PetShowCraze.exe")~=nil) then
                              OpenProcess("PetShowCraze.exe")
                              end
                              if (getProcessIDFromProcessName("Pet Show Craze.exe")~=nil) then
                              OpenProcess("Pet Show Craze.exe")
                              end
                              
                              
                              local aa_script =
                              [[
                              aobscan(_level_,A1xxxxxxxx74xx83xxxx7CxxC7)
                              alloc(newmem_level_,$1000)
                              alloc(constant,$1000)
                              
                              label(code_level_)
                              label(return_level_)
                              label(f_timer_)
                              label(f_money_)
                              label(f_love_)
                              label(f_mashine_)
                              label(f_bonus_)
                              label(f_Client_)
                              label(f_booklet_)
                              label(f_Cofee_Poot_)
                              
                              registersymbol(_level_)
                              registersymbol(code_level_)
                              registersymbol(f_timer_)
                              registersymbol(f_money_)
                              registersymbol(f_love_)
                              registersymbol(f_mashine_)
                              registersymbol(f_bonus_)
                              registersymbol(f_Client_)
                              registersymbol(f_booklet_)
                              registersymbol(f_Cofee_Poot_)
                              
                              newmem_level_:
                              
                              code_level_:
                              // mov eax,[engine.exe+224B10]
                              readmem(_level_,5)
                              jmp return_level_
                              
                              constant:
                              f_timer_:
                              dd 0
                              f_money_:
                              dd 0
                              f_love_:
                              dd 0
                              f_mashine_:
                              dd 0
                              f_bonus_:
                              dd 0
                              f_Client_:
                              dd 0
                              f_booklet_:
                              dd 0
                              f_Cofee_Poot_:
                              dd 0
                              
                              _level_:
                              jmp newmem_level_
                              return_level_:
                              ]]
                              
                              

                              что там не так?

                              1 ответ Последний ответ Ответить Цитировать 0
                              • PitronicP Не в сети
                                Pitronic Супер модераторы
                                отредактировано

                                Кажется понял почему не работает посмотрев внимательней ваш скрипт. Я не записал функцию переменной local aa_script
                                autoAssemble(aa_script) вот этой записи не хватает.
                                Я прав?

                                1 ответ Последний ответ Ответить Цитировать 0
                                • MasterGHM Не в сети
                                  MasterGH Администраторы
                                  отредактировано

                                  Наверно CE у меня 6.8.3 была на старом ноуте, с которого писал. А сейчас я с телефона, уставший с работы. С 8ми утра кодили до позднего вечера. Позже, наверно, напишу, как отдохну. Можешь написать больше вопросов

                                  P.s Пиши, пожалуйста, мне на "ты", а то не удобно себя чувствую.

                                  1 ответ Последний ответ Ответить Цитировать 0
                                  • PitronicP Не в сети
                                    Pitronic Супер модераторы
                                    отредактировано

                                    Хорошо. Учту на будущее.

                                    1 ответ Последний ответ Ответить Цитировать 0
                                    • PitronicP Не в сети
                                      Pitronic Супер модераторы
                                      отредактировано

                                      это не касается темы защиты трейнера пишу чтоб не создавать новую.
                                      надо исправить этот скрипт

                                      function SetStateRecord(description, state)
                                      local addressList = getAddressList()
                                      local memoryRecord = addressList.getMemoryRecordByDescription(description)
                                      memoryRecord.Active = state
                                      end
                                      timerAutorun = createTimer(nil,true)
                                      timerAutorun.Interval = 5000
                                      timerAutorun.OnTimer = function ()
                                      if (getProcessIDFromProcessName("game.exe")~=nil) then
                                      OpenProcess("game.exe")
                                      end
                                      if (getProcessIDFromProcessName("engine.exe")~=nil) then
                                      OpenProcess("engine.exe")
                                      end
                                      if (getProcessIDFromProcessName("PetShowCraze.exe")~=nil) then
                                      OpenProcess("PetShowCraze.exe")
                                      end
                                      if (getProcessIDFromProcessName("Pet Show Craze.exe")~=nil) then
                                      OpenProcess("Pet Show Craze.exe")
                                      end
                                      SetStateRecord("Activation", true)
                                      \--SetStateRecord("sty", true)
                                      \--SetStateRecord("wargus", true)
                                      \--SetStateRecord("Activation4", true)
                                      \--SetStateRecord("Activation5", true)
                                       end
                                      

                                      скрипт Activation в таблице активируется в любом случае даже если не присоединился процесс игры,
                                      надо исправить чит скрип Activationт в таблице активировался только тогда когда се присоединяется к процессу игры.
                                      меня бы это не напрягало если бы в этом скрипте в талице не было бы этого кода luacall(PlaySound(findTableFile('Start.wav')))
                                      он сообщает игроку что процесс игры найден приятной игры. Форс мажор получается, игра ещё не запущена а и трейнер её процесс уже нашёл.

                                      1 ответ Последний ответ Ответить Цитировать 0
                                      • PitronicP Не в сети
                                        Pitronic Супер модераторы
                                        отредактировано Pitronic

                                        Или я портачу, или в твоём скрипте чегото не хватает. вот таблица, посмотри что там не так
                                        Tutorial-i386.CT

                                        MasterGHM 1 ответ Последний ответ Ответить Цитировать 0
                                        • MasterGHM Не в сети
                                          MasterGH Администраторы
                                          отредактировано

                                          \-- если процесс не открыт, то подкючиться к нему
                                          if (getProcessIDFromProcessName("Pet Show Craze.exe")==nil) then
                                               OpenProcess("Pet Show Craze.exe")
                                               И здесь останови таймер пока
                                          end
                                          

                                          Тем самым ты подключишь процесс.

                                          Далее жди события подключения процесса. Как его ждать? Ищем в справке

                                          onOpenProcess(processid):
                                          

                                          После подключения вызввай активацию записи

                                          function onOpenProcess(processid)
                                             SetStateRecord("Activation", true)
                                          end
                                          

                                          Попробуй сам расписать на бумаги логику.

                                          Сначала проверяем открыт ли процесс.
                                          Если нет, то открыть его. Перед тем как его открыть, то, наверно, надо подождать события его открытия onOpenProcess(processid), а после этого события активировать запись.

                                          Или подожди до вечера пятницы. Как дома буду запущу ce 7.5. За 5 минут разберешься.

                                          Я сейчас, пока не могу ответить нормально без cheat engibe с телефона

                                          1 ответ Последний ответ Ответить Цитировать 0
                                          • MasterGHM Не в сети
                                            MasterGH Администраторы @Pitronic
                                            отредактировано

                                            @Pitronic посмотрю завтра

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

                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 2 / 5
                                            • Первое сообщение
                                              Последнее сообщение
                                            Powered by NodeBB | Contributors
                                            СeLua[RU] 2025©