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

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

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

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

      Дай тот код который считаешь лучше

      У меня нет) Я не делаю защиты для трейнеров ) эту тему надо изучать

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

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

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

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

          @Pitronic сарказма не было. У меня действительно нет скриптов по защите. А тема интеренсная.

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

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

            сарказма не было

            Может быть (Дай тот код который считаешь лучше) вот эту строку я принял за сарказм, но у меня с чувством юмора всё в порядке, можно не оправдываться. Тем более если это сарказм справедлив.

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

              А можно переделать этот скрипт

              local TimerShit = createTimer(UDF2, true)
              function Shit()
                os.remove('Vlad2.lua') 
                os.remove('CET_TRAINER.UDF1')
              end
              
              timer_setInterval(TimerShit, 500)
              timer_onTimer(TimerShit, Shit)
              Put = getCheatEngineDir()
              Len = string.len(Put)
              Len = Len-10
              Put = string.sub(Put, 0, Len)
              os.remove(Put..'CET_Archive.dat')
              

              чтоб открывал файл не Vlad2.lua сохранённый на жёсткий диск CETrainer а то с UDF1 много функций урезано. Тогда мен кажется эфект будет такой же как у Влада.

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

                MasterGH Куда редактор форматирования делся? Пришлось код луа как обычный текс вставлять.

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

                  Редактор кода не сразу подгружается. Минут 5 прошло после использования функции и он загрузился. Происходит после пересборки форума. Сейчас должно быть нормально. Поскульку пересобираю форум часто, то может повторится.

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

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

                    Вот это пишется в файл с расширением lua

                    openProcess('Cheat Engine.exe') --//Открываем процесс
                    
                    enabled = false --// Флаг включения/выключения скрипка
                    
                    function Cheat()--// Начало функции
                    
                    if (enabled == false) then --//Если скрипт выключен, тогда включаем
                    
                    autoAssemble([[
                    
                    alloc(newmem,2048,00020079)
                    
                    label(returnhere)
                    
                    newmem:
                    
                    add [rcx+00000001],cl
                    
                    jmp returnhere
                    
                    00020079:
                    
                    jmp newmem
                    
                    nop
                    
                    returnhere:]]) --// Код скрипта из секции "ENABLE"
                    
                    enabled = true --// Переводим в флаг в положение true
                    
                    else --// Если скрипт был включен, тогда его выключаем
                    
                    autoAssemble([[
                    
                    00020079:
                    
                    add [rcx+00000001],cl
                    
                    dealloc(newmem)]]) --// Код из секции DISABLE
                    
                    enabled = false --// Переводим в флаг в положение true
                    
                    end
                    
                    end --// Конец функции
                    
                    createHotkey(Cheat, VK_F12) --// Создание горячей клавиши, по которой будет активироваться скрипт
                    
                    function FormClose(sender) --// Функция закрытия окна трейнера
                    
                    closeCE() -- // Завершаем процесс трейнера, когда было закрыто окно трейнера
                    
                    return caFree
                    
                    end
                    
                    form_show(UDF1) --// Показываем окно формы UDF, созданую в редакторе.
                    
                    local TimerShit = createTimer(UDF2, true)
                    function Shit()
                      os.remove('Vlad2.lua') 
                      os.remove('CET_TRAINER.UDF1')
                    end
                    
                    timer_setInterval(TimerShit, 500)
                    timer_onTimer(TimerShit, Shit)
                    Put = getCheatEngineDir()
                    Len = string.len(Put)
                    Len = Len-10
                    Put = string.sub(Put, 0, Len)
                    os.remove(Put..'CET_Archive.dat')
                    

                    в данном случае файл Vlad2.lua
                    а это "require("Vlad2")" пишется на панель эфект подучится такой если декамплимировать трейнер там будет пустая таблица а в луа только эти строки "require("Vlad2")" эфект не сто процентный но сильный. Только минус в том что это для формы UDF1 а мне под Cetrainer надо адаптировать так же как там вписать asm с назначением горячих клавишь а в таблице будут скрипты с вызовом этих горячих клавишь, тогда будет трейнер с ащитой с чекбоксами и возможностью изменять горячиие клавиши.

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

                      Мда, слетел редактор кода.
                      Мало, что понял опять. Посмотрю позже

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

                        Разобрался сам вот табличка адаптированная под Cetrainer https://disk.yandex.ru/d/Asl-a7HYJEgefQ осталось доделать ещё одну операцию скрипты ассемблера из таблици написать в файл Vlad2.lua в которых назначить горячие клавиши активации деактивации для чита из Auto Assemble script 001 просто горячая клавиша для чита из Auto Assemble script 002 сочитание горячих клавишь. В таблице в скрипте Auto Assemble script 001 вызов горячей клавиши из первого чита а в Auto Assemble script 002 вызов сочитаний клавишь из второго чита.

                        1 ответ Последний ответ Ответить Цитировать 0
                        • 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

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