Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Readmem - базовый адрес
NovyjPilot
сообщение 25.12.2018, 3:14
Сообщение #1


*

Registred
Сообщений: 2
Регистрация: 25.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.166
Возраст: 32



Доброго времени суток!

Хочу спросить есть ли в пилоте возможность считать базовый адрес который не является статическим? До введения ASLR всё было просто и базовым адресом было 0x00400000.

Теперь ситуатциа немного усложнилась.
Пример как это отображается в CheatEngine:
"game.exe"+0043C424 (ну и там дальше идут доп. оффсеты)

Есть ли в пилоте встроенная возможность получить этот базовый адрес для game.exe который является исходной точкой?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.12.2018, 11:38
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
Добавил модульную адресацию в командах работы с памятью.
'readmem <variable> <address> <type> <size> [modulename]'
'writemem <variable> <address> <type> [ModuleName] [result]'



--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NovyjPilot
сообщение 25.12.2018, 14:07
Сообщение #3


*

Registred
Сообщений: 2
Регистрация: 25.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.166
Возраст: 32



Спасибо большое всё работает! Извините что сразу не заметил просто на вики в Синтaксис стоит более простой вариант а в changelog уже с доп информацией.

Код
 Синтаксис
Привязка к окну: да.
Работа со свернутым окном: да.

readmem <переменная_куда_сохранять_результат> <адрес> <тип_данных>
Тип данных: B:byte = 1b; W:word = 2b; D:dWord = 4b; C:char = 1b; S:String = 1-255b; DO:double = 8b; F:float = 4b; R:real = 6b (см.примеры)


Спасибо вам за программу и труд!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neves
сообщение 4.1.2020, 14:23
Сообщение #4


***

Novice
Сообщений: 64
Регистрация: 4.10.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.419
Возраст: 19



Здравствуйте. Можете ли вы привести пример с [modulename]. Я тоже пытаюсь получить базовый адрес, но безуспешно. Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.1.2020, 19:49
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Вам нужно именно получить базовый адрес или считать со смещеним от базового?
Чтобы получить именно базовый адрес как-то так:
Код

local base_address = relativeaddress2absolute ("имя_модуля", address)
log (base_address)

Считать со смещением:
local result = readmem (address, type, modulename)
типа:
local result = readmem (0x00001234, "d", "my.dll")


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
omegam
сообщение 10.6.2020, 20:54
Сообщение #6


*

Registred
Сообщений: 5
Регистрация: 6.6.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.667



Доброго времени суток.
Уже пару дней страдаю пытаясь считать адресс. Чит энджин выдает такой поинтер:
Game.exe+59EA39C со смещением Е8
Я написла такой код:
Код

set #point0 0x059EA39C + 0xE8
readmem #out #point0 b Game.exe
log #out


Чит энджин выдает значение 100.
Пилотпишет 192.

Это правильная работа со смещением ?

Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
omegam
сообщение 11.6.2020, 14:15
Сообщение #7


*

Registred
Сообщений: 5
Регистрация: 6.6.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.667



Всем спасибо.
После проб и ошибок смог все сделать как нужно (IMG:style_emoticons/default/smile.gif)
Код

readmem #addr 0x059EA39C D "Game.exe"
log Dec2hex(#addr)
set #hitsAddr #addr + 0xEE
set #manaAddr #addr + 0xEF
set #stamAddr #addr + 0xFC
set #weightAddr #addr + 0x159

readmem #hits #hitsAddr b
readmem #mana #manaAddr b
readmem #stam #stamAddr b
readmem #weight #weightAddr b
log #hits
log #mana
log #stam
log #weight
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
фонарик
сообщение 14.6.2020, 22:58
Сообщение #8


****

Apprentice
Сообщений: 145
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.305



Случайно наткнулся на эту тему. Попытки повторить описанную здесь магию дали кое-какие результаты. Но не понимая природы этих вещей не удаётся продвинутся дальше. Я наколдовал в программе Cheat Engine строчку, которая всегда правильно показывает игровое значение, даже после перезапуска клиента. Читая эту тему, мне закралась мысль что пилот каким-то образом может также считывать это значение? Подскажите пожалуйста, судя по данным скриншота, как это сделать?

(IMG:https://i.ibb.co/RYMqHYr/01.jpg) (IMG:https://i.ibb.co/PYcSnVF/02.jpg)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
фонарик
сообщение 16.6.2020, 17:25
Сообщение #9


****

Apprentice
Сообщений: 145
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.305



Мой метод тыка исчерпал возможные комбинации перегрелся и сломался, так и не дав нужный результат (IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 17:06
Designed by Nickostyle