Валерий
-
Постов
6 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Валерий
-
-
Спойлер
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 -
Благодарю!
LUA будет работать только внутри CE, но в состоянии ли он "выбросить" какие-то значения за пределы CE(сохранить в файл к примеру)? -
Добрый день, друзья!
В 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 и вытягивать значения напрямую из памяти)))))
Любые идеи, критика, предложения приветствуются.
-
Благодарю за ответ! Если есть возможность, перенесите тему в платный раздел, возможно удастся найти исполнителя на коммерческой основ или, получить платную консультацию.
Если нет возможности, просьба тему удалить. -
Доброго времени суток. Прошу помощи в поисках базового адреса относительно которого строится вся карта 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)
Сохранение из карты CE всех значений(Value) в txt.
in Cheat Engine
Опубликовано
Да, так работает, причем даже если выделить всю таблицу (Ctrl+A), затем скопировать в буфер обмена (Ctrl+C), и вставить (Ctrl+V). Все значения будут в теге LastState в параметре Value.
Если пойти данным путем, то вырисовываются две проблемы:
1. Обратиться к окну CE, пройти по дереву элементов на форме, добраться до дочернего элемента List (где лежит таблица), отправить в нее Message Click, затем сделать копипаст в буфер и вставить в файл.
Получится ли провернуть такое при свернутом CE?)
2. Распарсить структуру и вытащить все нужные Value.