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

Валерий

Стажёры
  • Постов

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

  • Посещение

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

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

     

     

    копируй по другому . не пкм мыши , а Ctrl+C и Ctrl+V .  тгда значение то же копирует .

     

    mZpo6Ji.jpg

     

    смотри если  это копировать пкм то получиться  верхняя часть текста  на картинкн , а если Ctrl+C то нижняя .

    MK757kp.jpg

     

    Да, так работает, причем даже если выделить всю таблицу (Ctrl+A), затем скопировать в буфер обмена (Ctrl+C), и вставить (Ctrl+V). Все значения будут в теге LastState в параметре Value.
    Если пойти данным путем, то вырисовываются две проблемы:
    1. Обратиться к окну CE, пройти по дереву элементов на форме, добраться до дочернего элемента List (где лежит таблица), отправить в нее Message Click, затем сделать копипаст в буфер и вставить в файл.
    Получится ли провернуть такое при свернутом CE?)
    2. Распарсить структуру и вытащить все нужные Value.
     

  2.  

    Спойлер
    define(basaPlayer,GameAssembly.dll+4D55B7)
    alloc(newmem,$1000)
    registersymbol(basaPuzzlePlayer)
    label(basaPuzzlePlayer)
    label(code)
    label(return)
    
    newmem:
      mov [basaPuzzlePlayer],edi
    code:
      mov edx,[edi+40]
      mov ebx,[edi+54]
      jmp return
    
    basaPuzzlePlayer:
      db 0
    
    basaPlayer:
      jmp newmem
      nop
    return:
    registersymbol(basaPlayer)
    
    //LUA-скрипт
    {$lua}
    path = 'C://file.txt'
    file = io.open(path, "a") 
    file:write("Строка\n") 
    file:close() 
    [DISABLE]
    
    basaPlayer:
      db 8B 57 40 8B 5F 54
    
    unregistersymbol(basaPlayer)
    unregistersymbol(basaPuzzlePlayer)
    dealloc(newmem)

     


    В строке
    file:write("Какой-то текст\n") в файл записывается "Какой-то текст".
    Как записать вместо текста значение адреса [basaPuzzlePlayer]? 
    Далее планируется записать, для примера,  [basaPuzzlePlayer]+40 и сложнее [[basaPuzzlePlayer]+10] + 4C

  3. Добрый день, друзья!
    В Cheat Engine создана карта. Есть ли возможность сохранить значения полученных значений с карты куда-либо, например в txt?


    CE позволяет выделить одну или несколько строк на карте, нажать ПКМ -> Копировать и руками вставить в txt. В таком случае, информация сохранится в виде xml структуры с многими полями, за исключением самого главного - значения.

    [img=https://ibb.co/kXqZ8RX]
    

    Если посмотреть окно CE, а именно то дочернее окно, в котором отображается карта, то Spy++ определяет его как большой объект List, отдельно значение вытащить не получается.
    [
    img=https://ibb.co/2MvYXsk]

    Есть вариант держать все время открытым окно CE во время игры и распознавать "циферки" прям с экрана в режиме реального времени (распознавание объектов с экрана). Максимально компактно свернуть окно CE, отправить его, для примера, в правый край экрана, висит там и никому не мешает, с него происходит считывание значений. Способ более чем рабочий, но неудобный (игру не развернуть на весь экран).
    [
    img=https://ibb.co/R3bPCch]

    Отсюда возникает вопрос, возможно ли какими-то инструментами Cheat Engine делать периодическую выгрузку значений с карты куда-нибудь в файл?
    Может быть можно написать какой-то скрипт, который будет обращаться к карте, забирать оттуда значения и складывать в файл.
    Может быть у разработчиков есть какой-то API, чтобы можно было обращаться к CE извне и получать в ответе необходимую информацию (которую обрабатывает подкапотная магия CE и "выплёвывает" в виде значений).
    Может быть с помощью CE считывать память самого CE и вытягивать значения напрямую из памяти)))))

    Любые идеи, критика, предложения приветствуются. 


     

  4. Благодарю за ответ! Если есть возможность, перенесите тему в платный раздел, возможно удастся найти исполнителя на коммерческой основ или, получить платную консультацию.
    Если нет возможности, просьба тему удалить.

  5. Доброго времени суток. Прошу помощи в поисках базового адреса относительно которого строится вся карта CE.
    Есть наработки.
    Реализован поиск других адресов от базы, а так же их Value.
    Проблема только с базой на данном этапе.

    Либо объяснить на пальцах что здесь происходит:

    define(basaPlayer,GameAssembly.dll+4D55B7)
    alloc(newmem,$1000)
    registersymbol(basaPuzzlePlayer)
    label(basaPuzzlePlayer)
    label(code)
    label(return)
    
    newmem:
      mov [basaPuzzlePlayer],edi
    code:
      mov edx,[edi+40]
      mov ebx,[edi+54]
      jmp return
    
    basaPuzzlePlayer:
      db 0
    
    basaPlayer:
      jmp newmem
      nop
    return:
    registersymbol(basaPlayer)
    
    [DISABLE]
    
    basaPlayer:
      db 8B 57 40 8B 5F 54
    
    unregistersymbol(basaPlayer)
    unregistersymbol(basaPuzzlePlayer)
    dealloc(newmem)



    https://ibb.co/4NcBNHx

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

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

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