Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Работа с памятью

Страниц (1): [1]
 

1. Nikanr - 08 Марта, 2021 - 06:07:42 - перейти к сообщению
Учусь работать с памятью игр в киборе и Cheat Engine, поэтому возник вопрос:

1. Допустим у нас есть 2d игра и мы нашли адреса координат плоскости по x (0116D5D4) и y(0116D5D8). Они принимают значения от 1065353216 до 3212836864 в зависимости от положения персонажа. Допустим я хочу подвинуть персонажа на 50 едениц влево и вниз, как мне посчитать эти значения для замены?
2. Zireael - 08 Марта, 2021 - 06:27:05 - перейти к сообщению
 Цитата:
Они принимают значения от 1065353216 до 3212836864

Возможно координаты float, а не int.
Если изменить значения через Cheat Engine, то персонаж передвинется?
3. Budni - 08 Марта, 2021 - 06:28:31 - перейти к сообщению
Nikanr , переведи во float значения.
4. AdryV - 08 Марта, 2021 - 07:42:45 - перейти к сообщению
выше сказали правильно нужно перекинуть в флоат или доубле
а так ответ на ваш вопрос дать тяжело, так как изменение этих двух координат скорее всего ниначто не повлияет.... попробуйте их изменить, если персонаж не начнет двигаться или не переместится то ищите другие похожие значения в памяти) .... но не забывайте что флоат и доубле это разное!
(Добавление)
также иной раз встречается что надо искать координаты не персонажа а клика мышкой..... в общем все зависит от движка игры и ее логики..... без простого беглого анализа работы клиента игры думаю у вас мало что получится(
5. Nikanr - 08 Марта, 2021 - 08:32:39 - перейти к сообщению
 Zireael пишет:
 Цитата:
Они принимают значения от 1065353216 до 3212836864

Возможно координаты float, а не int.
Если изменить значения через Cheat Engine, то персонаж передвинется?


Перевел значения во float, помогло. Верхний левый угол это корды -1 -1 по x,y, правый нижний 1,1. Если заменять корды в Cheat Engine, то корды меняются (те же 0,0 например)
(Добавление)
 AdryV пишет:
без простого беглого анализа работы клиента игры
Игрушка в обучении Cheat Engine 7.2. Еще такие вопросы:

1. Как получить адреса плоскости координат(x,y) после перезапуска игры, в киборе по маске делается как я понимаю?

2. openprocess открывает процесс с указателем на окно. А что если указатель у нас стоит на nox.exe а искать нужно в noxvmhandle? Или он и его захватит
6. AdryV - 08 Марта, 2021 - 08:49:56 - перейти к сообщению
 Nikanr пишет:
1. Как получить адрес плоскости координат после перезапуска игры, в киборе по маске делается как я понимаю?

эммм сначала нужно найти указатель с процесса игры(клиента игры), иной раз он может быть:
(клиента игры)указатель - указатель(+ смещение) - указатель(- смещение) - и данные
поэтому то я и писал что нужен анализ игры
ну а патерн эт на любителя.... или на попытку сделать все универсальным хатя это невозможно!
(Добавление)
 Nikanr пишет:
2. openprocess открывает процесс с указателем на окно. А что если указатель у нас стоит на nox.exe а искать нужно в noxvmhandle? Или он и его захватит

а вот этого не знаю никогда с эмуляторами не рабоал.... и даже не представляю какая каша у них творится в виртуально(виртуальной памяти) Белый флаг
7. Nikanr - 08 Марта, 2021 - 12:15:15 - перейти к сообщению
 AdryV пишет:
не представляю какая каша у них творится в виртуально(виртуальной памяти)
Протестил непосредственно в онлайн-игре, все тоже самое с отсеиванием адресов. Только нужно открывать процесс NoxVmHandle, и ставить галочку в настройках read/write memory в чит енжине. Удалось получить регион еды воды, число предметов в ячейке инвентаря и число предметов ячейки инвентаря в фокусе (по 4 бит). Но как найти структуру перса или его корды - хз
8. Budni - 08 Марта, 2021 - 15:32:36 - перейти к сообщению
 Nikanr пишет:
или его корды
персонаж стоит > первый отсев все значения > шаг в сторону > второй отсев "Значение изменилось" > Стоим на месте > третий отсев > шаг в сторону > и т.д. дойдя до момента когда вообще не отсеивается ничего, смотри в ручном режиме адреса (их может быть и 1000) и двигай персонажа, анализируй, проверяй какие значения похоже на координаты, которые логично меняются с передвижением персонажа. Жмем по адресу пкм выбираем поинтер скан фор зиз адресс, жмем ОК > Сохраняем> появится окно с указателями (пусть будет открытое) . Закрываем игру и повторяем всё с начала. Найдя новый адрес копируем его и в окне с указателями жмем в верхнем меню Pointer scanner > rescan memory и вставляем туда наш новый адрес и жмем ОК. И повторяем это 1007 раз (может 10 а может и 10000). Есть конечно и другие способы поиска но в этом способе думать не нужно, грубо говоря автоматический поиск.
9. Nikanr - 09 Марта, 2021 - 04:14:21 - перейти к сообщению
Нашел годный курс по Cheat Engine, мб кому пригодится для понимания Тык

Powered by ExBB FM 1.0 Final