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

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

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

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

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

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