Перейти к содержанию

Pitronic

Пользователи+
  • Постов

    595
  • Зарегистрирован

  • Посещение

  • Победитель дней

    20

Сообщения, опубликованные Pitronic

  1. 1 минуту назад, Xipho сказал:

    можно было без проблем изучить основы Lua

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

  2. 2 часа назад, Xipho сказал:

    в чем проблема

    Я не знаю как. Вообще луа не знаю. Пользуюсь тем что мне кто то когда то дал, или нашёл на просторах интернета. Единственное что получается, пробую изменять методом тыка уже готовое под себя, Как например здесь

  3. В 07.09.2022 в 20:07, MasterGH сказал:

    которые могут пригодится

    В общем так, пустая таблица работает. А вот таблица с читами для игры хромает. Вот скрипт в луа что вверху вставляю.

    Спойлер
    local timerAutorun = createTimer(nil, true)
      timerAutorun.Interval = 1000
      timerAutorun.OnTimer = function ()
    
      if (getOpenedProcessID() ~= getProcessIDFromProcessName("engine.exe")) then
         OpenProcess("engine.exe")
      end
    
      if (getOpenedProcessID() ~= getProcessIDFromProcessName("game.exe")) then
         OpenProcess("game.exe")
      end
    
      if (getOpenedProcessID() ~= getProcessIDFromProcessName("Pet Show Craze.exe")) then
         OpenProcess("Pet Show Craze.exe")
      end
    
    end
    
    local addressList = getAddressList()
    local memoryRecord = getAddressList().getMemoryRecordByDescription("Activation")
    memoryRecord.Options = "moHideChildren, moActivateChildrenAsWell, moAllowManualCollapseAndExpand"
    memoryRecord.Active = true

     

    активирующий скрипт пустой. В дочерних читах скрипты асм. Как работает. Если таблицу запустить после игры и согласится выполнить скрипт работает нормально. А если тоже самой сделать до запуска игры. Активирующий скрипт включается дочерние читы остаются выключенными. Наверное там нужна проверка на присоединение к процессу.

  4. 5 часов назад, sivka сказал:

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

    Ты уверен что внимательно читал? Я на пример раньше думал что инструкция lea это запись адреса в регистр.  То есть адрес [esi+cc] записывает в регистр esp. И по наивности глубокой считал, что теперь в значении регистра esp равно адресу [esi+cc]. Как я деградировал!!!

  5. Да забыл сказать, я там в форме что то не так сделал. форма трейнера сзади таблицы получилась. Просто после запроса ( выполнить скрипт ) подтвердить и подвинуть в сторону таблицу. Можно тестировать. Увидите. Всё работает.

  6. 43 минуты назад, MasterGH сказал:

    Наверно, надо целиком таблицу .CT

    Так я же скинул там таблицу. Всё работает. На десять читов сделал. вот ссылка на топик где я скинул ссылку здесь  под показать контент увидите ( А вот образец таблицы Тык Зацените по десяти бальной шкале. )

  7. В 22.11.2022 в 20:47, MasterGH сказал:

    Вариант, рабочий.

    Не много не рентабельный скрипт. Необходимо два раза генерировать, чтобы потом в таблицу не достающие строки добавить. Методом тыка удаляя функции и проверяя работоспособность, переделал. Теперь после создании формы можно просто сохранить в exe, и нет необходимости второй раз генерировать из за того что первый раз генерировал чтоб в таблицу строки добавить. Вот ваш доработанный мною код.

    Спойлер
    -- обработчик нажатий до 5 hot-keys на поле для поля CEEdit1.OnKeyDown = userPressedKey (ниже задается)
    -- userDefinedKeys = {} таблица hot-keys
    local function userPressedKey(sender, key)
      if userDefinedKeys[5]==0 then
        for i=1,5 do
          if userDefinedKeys[i]==0 then
            userDefinedKeys[i]=key
            break
          else
            if userDefinedKeys[i]==key then break end
          end
        end
      end
      -- преобразование таблицы hot-keys в строку и запись в поле changeHotkeyKeysForm.CEEdit1.Text
      changeHotkeyKeysForm.CEEdit1.Text=convertKeyComboToString(userDefinedKeys)
      return 0
    end
    -- Обработчик для очистки hot-key
    local function clearHotkey()
      userDefinedKeys={0,0,0,0,0}
      changeHotkeyKeysForm.CEEdit1.Text=convertKeyComboToString(userDefinedKeys)
      changeHotkeyKeysForm.CEEdit1.setFocus()
    end
    -- создание формы changeHotkeyKeysForm
    local function formCreate()
      changeHotkeyKeysForm=createForm(false)
      changeHotkeyKeysForm.Name = 'changeHotkeyKeysForm'
      changeHotkeyKeysForm.Caption = 'Редактор горячих клавишь'
      changeHotkeyKeysForm.Width = 300
      changeHotkeyKeysForm.Height = 120
      changeHotkeyKeysForm.Position = poScreenCenter
      changeHotkeyKeysForm.OnClose =
         function ()
           changeHotkeyKeysForm.CEEdit1.setFocus()
           return caHide
         end
    
      local CELabel1=createLabel(changeHotkeyKeysForm)
      CELabel1.Name = 'CELabel1'
      CELabel1.Left = 20
      CELabel1.Top = 20
      CELabel1.Caption = 'Горячая клавиша:'
    
      local CEEdit1=createEdit(changeHotkeyKeysForm)
      CEEdit1.Name = 'CEEdit1'
      CEEdit1.Text = ''
      CEEdit1.AnchorSideLeft.Control = CELabel1
      CEEdit1.AnchorSideTop.Control = CELabel1
      CEEdit1.AnchorSideTop.Side = asrBottom
      CEEdit1.Height = 25
      CEEdit1.Width = 248
      CEEdit1.BorderSpacing.Top = 4
    
      local clearButton=createButton(changeHotkeyKeysForm)
      clearButton.Name = 'clearButton'
      clearButton.AnchorSideLeft.Control = CEEdit1
      clearButton.AnchorSideTop.Control = CEEdit1
      clearButton.AnchorSideTop.Side = asrBottom
      clearButton.Height = 30
      clearButton.Width = 80
      clearButton.BorderSpacing.Top = 8
      clearButton.Caption = 'Очистить'
    
      local applyButton=createButton(changeHotkeyKeysForm)
      applyButton.Name = 'applyButton'
      applyButton.AnchorSideLeft.Control = clearButton
      applyButton.AnchorSideLeft.Side = asrBottom
      applyButton.AnchorSideTop.Control = clearButton
      applyButton.Height = 30
      applyButton.Width = 80
      applyButton.BorderSpacing.Left = 10
      applyButton.Caption = 'Применить'
    
      CEEdit1.OnKeyDown = userPressedKey -- обработчки нажатий
      -- https://lazarus-ccr.sourceforge.io/docs/lcl/controls/tmousebutton.html для записи хот-кей мышки.
      local mbtn={false,true,true,true}
      CEEdit1.OnMouseDown = function (s,k) if mbtn[k] then s.OnKeyDown(s,k+2) end end
    
      clearButton.OnClick = clearHotkey    -- обработчик очистки hot-keys
      applyButton.ModalResult = mrYes      -- apply button
    end
    
    -- Обработчик кнопки смены hot-key. Показывает форму смены hot-keys
    function changeHotkeyKeys(hotkey)
      -- если форма не создана, то создать
      if not changeHotkeyKeysFormCreated then
        changeHotkeyKeysFormCreated = true
        formCreate()
      end
    
      if hotkey==nil then return end
      -- таблица из пользовательский hot-keys. Максимум 5
      userDefinedKeys={0,0,0,0,0}
      -- проверка на свопаданеие для ClassName=='TGenericHotkey' или на "TMemoryRecordHotkey"
      if hotkey.ClassName=='TGenericHotkey' then
        -- если TGenericHotkey, то запись клавиш
        -- TGenericHotkey, вроде, не документирована. Так что либо лезем в git либо запоминаем что есть .getKeys() у hotkey
        for i,v in ipairs({hotkey.getKeys()}) do
          userDefinedKeys[i]=v -- установка hot-key
        end
        -- показать таблицу с кодами hot-keys как строку
        changeHotkeyKeysForm.CEEdit1.Text=convertKeyComboToString(userDefinedKeys)
        -- запомнить что есть setKeys у  hotkey типа TGenericHotkey. Передать пять нажатий
        if changeHotkeyKeysForm.showModal()==mrYes then
          hotkey.setKeys(userDefinedKeys[1],userDefinedKeys[2],
                         userDefinedKeys[3],userDefinedKeys[4],
                         userDefinedKeys[5])
        end
    
      elseif hotkey.ClassName=='TMemoryRecordHotkey' then -- если же это TMemoryRecordHotkey
        for i,v in ipairs(hotkey.Keys) do
          userDefinedKeys[i]=v -- записать коды hot-key
        end
        -- показать строку
        changeHotkeyKeysForm.CEEdit1.Text=convertKeyComboToString(userDefinedKeys)
        -- если подвержедение закрытия формы через showModal()==mrYes, то назначить клавиши
        if changeHotkeyKeysForm.showModal()==mrYes then
          hotkey.Keys = userDefinedKeys
        end
    
      end
    
    end
    
    -- Функция для связи CETrainer.CHEAT0 и memrec0_hotkey0. Примеры ниже.
    -- object1 это тип условный тип tcheat, object2 это тип TMemoryRecordHotkey. Типы не документированы в celua.txt. Просто запомнить или лезть в git CE
    function addChangeHotkeyKeysFunctionality(object1, object2)
      if (type(object1)=='userdata') and (object1.ClassName=='tcheat') and (object2.ClassName=='TMemoryRecordHotkey') then
        local btn = createButton(object1.Owner)
        btn.Parent = object1.Parent
        btn.AnchorSideLeft.Control = object1
        btn.AnchorSideTop.Control = object1
        btn.Height = object1.Height
        btn.Width = 15
        btn.BorderSpacing.Left = object1.Descriptionleft - 15
        btn.Caption = 'E' -- создание кнопок вида "E" редактироавния hot-key
        btn.OnClick = function () changeHotkeyKeys(object2) object1.Hotkey = object2.HotkeyString end
      end
    end
    
    addresslist=getAddressList()
    memrec0=addresslist.getMemoryRecordByID(0)
    memrec1=addresslist.getMemoryRecordByID(1)
    memrec2=addresslist.getMemoryRecordByID(2)
    memrec3=addresslist.getMemoryRecordByID(3)
    memrec4=addresslist.getMemoryRecordByID(4)
    memrec5=addresslist.getMemoryRecordByID(5)
    memrec6=addresslist.getMemoryRecordByID(6)
    memrec7=addresslist.getMemoryRecordByID(7)
    memrec8=addresslist.getMemoryRecordByID(8)
    memrec9=addresslist.getMemoryRecordByID(9)
    
    memrec0_hotkey0=memrec0.getHotkeyByID(0)
    memrec1_hotkey0=memrec1.getHotkeyByID(0)
    memrec2_hotkey0=memrec2.getHotkeyByID(0)
    memrec3_hotkey0=memrec3.getHotkeyByID(0)
    memrec4_hotkey0=memrec4.getHotkeyByID(0)
    memrec5_hotkey0=memrec5.getHotkeyByID(0)
    memrec6_hotkey0=memrec6.getHotkeyByID(0)
    memrec7_hotkey0=memrec7.getHotkeyByID(0)
    memrec8_hotkey0=memrec8.getHotkeyByID(0)
    memrec9_hotkey0=memrec9.getHotkeyByID(0)
    
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT0,memrec0_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT1,memrec1_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT2,memrec2_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT3,memrec3_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT4,memrec4_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT5,memrec5_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT6,memrec6_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT7,memrec7_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT8,memrec8_hotkey0)
    addChangeHotkeyKeysFunctionality(CETrainer.CHEAT9,memrec9_hotkey0)
    
    gPlaySoundOnAction=false
    CETrainer.fixDPI()
    CETrainer.show()
    function CloseClick()
      closeCE()
      return caFree
    end

     

    А вот образец таблицы Тык Зацените по десяти бальной шкале.

  8. 22 часа назад, MasterGH сказал:

    Если бы я делал с нуля, то

    А как бы сделали вы? Хочу попробовать оба варианта этот и ваш и сравнить какой удобней. Если можно то тоже с коментами как здесь. Но не настаиваю просто если есть время и возможность.

     

  9. Вопрос меня давно волновал, но забывал спросить. Когда то скачал, не помню для какой игры трейнер. Там была такая пользовательская фишка. Там где описания горячих клавиш. Была кнопка edit при активации которой пользователь мог изменить горячие клавиши которые там по умолчанию. Можно ли реализовать это в ce на форме udf1. Если кто знает подскажите пожалуйста пж по шагам.

  10. 17 часов назад, Klaus сказал:

    10 лет, все это знают

    Ну если знаешь сделай более профессиональные уроки, а мы нубы десятилетние у тебя поучимся.

    • Плюс 1
  11. В 24.09.2022 в 20:34, Sergey99 сказал:

    а адрес статический.

    Я иногда делаю в трейнерах телепорты. Но и для меня загадка. Очень часто координаты зеленые то есть статистические, и указывают на модуль, Но в чём парадокс, модули эти меняются. То есть визуально адрес статистический, а реально динамический.

  12. В 26.08.2022 в 19:01, DieVis сказал:

    Лень и не знание разные вещи,

    Я понимаю что ты можешь не знать что такое FPU, также я допускаю что ты мог не знать про видео на которые указал Руслан. Но Руслан правильно сказал, что тебе стоило сделать вот это Ткни сюда. Только ленью можно это объяснить.

  13. 3 минуты назад, Partizan сказал:

    ни какой анти-отладки нету

    Совет полезный но ведь не только на этой игре антиотладка, не правда ли. Я хочу освоить dbg именно на игре с защитой, чтоб если попадётся такая же проблемма в другой игре не искать в инете такую же игру без защиты.

    53 минуты назад, Partizan сказал:

    который в СЕ последний.

    Которы в Се последний это в режиме отладки ядра. требуется DBVM правильные нвстройки на скрине не покажешь? Там не надо галочки ставить?

  14. 2 часа назад, Partizan сказал:

    не та разрядность

    Я что по твоему тупой? Или не вижу в какой папке x64dbg.exe а в какой x32dbg.exe? У меня 64 разрядная я и запускал x64dbg.exe

    смотри сам чтобне говорил не та разрядность.

    Спойлер

    2022-09-09-18-52-21.png

    Спойлер

    2022-09-09-190042.png

     

     

  15. 16 часов назад, Xipho сказал:

    x64dbg/x32dbg с плагином ScyllaHide

    Не видит процесс игры. Где копать? Плагин добавил, настройки плагина такие-же как рекомендовали на сайте.

    Спойлер

    image.png

     

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.