Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: внутри...
Ilya001
Отправлено: 10 Апреля, 2022 - 18:04:02
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




Здравствуйте!
В одной игре искал HP(health points) игрока через CheatEngine, нашёл нужный адрес(HEX) HP,
и как теперь читать значение этого адреса через кибор? С процессами через кибор не работал, и по документации сложновато мне что-то понять.
Адрес HP: 5658A5BDFB0, тип double
Дайте пожалуйста пример в виде кода))
 
 Top
Zireael
Отправлено: 10 Апреля, 2022 - 18:36:49
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4400
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Адрес HP: 5658A5BDFB0

Кибор не работает с 64 битными процессами.
 Цитата:
Дайте пожалуйста пример в виде кода

CODE:
int adr = 0x149F4A38; // адрес
win w = window (-1, "l2UnrealWWindowsViewportWindow", -1); // окно
if(w) // если найдено
{
int prc=openprocess(w); // открыть процесс
if(prc) // если открылся
{
char hp[4];
if(readmemory(#hp[0], 4, adr, prc)) // прочитать 4 байта
{
int HP = codhexi(#hp[0], 4); // перевод в int
messagebox(HP);
}
}
else messagebox("Процесс не открылся");
}
else messagebox("Окно не найдено");
 
 Top
Ilya001
Отправлено: 10 Апреля, 2022 - 19:00:53
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 Zireael пишет:
Кибор не работает с 64 битными процессами.

А можно что нибудь предпринять чтобы он работал?
К сожалению игра 64 битный как и OC, и может есть какое нибудь решения?

(Отредактировано автором: 10 Апреля, 2022 - 19:05:52)

 
 Top
Ilya001
Отправлено: 13 Апреля, 2022 - 12:15:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




Нашёл 32 битную игру, там HP тоже в double храниться, как его можно прочитать через кибор?
С вашим кодом ничего не находить кибор, можете дать еще один пример если не сложно?)
Адрес: 4037F128, тип double
 
 Top
Kibor
Отправлено: 13 Апреля, 2022 - 12:37:33
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




double adr = 0x149F4A38; // адрес
 
 Top
Ilya001
Отправлено: 13 Апреля, 2022 - 12:44:27
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 Kibor пишет:
double adr = 0x149F4A38; // адрес

CODE:
win w = window ("newwind", "window", -1); // окно
double adr = 0x149F4A38; // адрес

if(w) // если найдено
{
int prc=openprocess(w); // открыть процесс
if(prc) // если открылся
{
char hp[4];
if(readmemory(#hp[0], 4, adr, prc)) // прочитать 4 байта
{
int HP = codhexi(#hp[0], 4); // перевод в int
messagebox((HP);
}
}
else messagebox("Процесс не открылся");
}
else messagebox("Окно не найдено");

Возвращает -247483648, это нормально? Адрес хранить в себе цифру без минуса, и значение(в игре) не может быть больше 600 и меньше 0, может в коде я допустил ошибку?

(Отредактировано автором: 13 Апреля, 2022 - 12:45:08)

 
 Top
Zireael
Отправлено: 13 Апреля, 2022 - 13:14:44
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4400
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
HP тоже в double храниться

 Цитата:
int HP = codhexi(#hp[0], 4); // перевод в int

codhexd позволяет перевести шестнадцатеричный hex код в дробное число double (float).
 
 Top
Ilya001
Отправлено: 14 Апреля, 2022 - 18:07:54
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




Как из 4037F128 получилось это?
 Kibor пишет:
double adr = 0x149F4A38; // адрес

(Добавление)
 Ilya001 пишет:
Как из 4037F128 получилось это?
 Kibor пишет:
double adr = 0x149F4A38; // адрес

Можете дать ответ?

(Отредактировано автором: 14 Апреля, 2022 - 18:08:48)

 
 Top
Zireael
Отправлено: 15 Апреля, 2022 - 02:40:13
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4400
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Как из 4037F128 получилось это?
double adr = 0x149F4A38; // адрес

Никак, 0x149F4A38 из моего примера взято.

По байтам посмотрите что читается.
CODE:
int adr = 0x27CB7738; // адрес
win w = window (-1, "l2UnrealWWindowsViewportWindow", -1); // окно
if(w) // если найдено
{
int prc=openprocess(w); // открыть процесс
if(prc) // если открылся
{
char hp[4];
if(readmemory(#hp[0], 4, adr, prc)) // прочитать 4 байта
{
messagebox(formatci(hp[0]));
messagebox(formatci(hp[1]));
messagebox(formatci(hp[2]));
messagebox(formatci(hp[3]));
}
}
else messagebox("Процесс не открылся");
}
else messagebox("Окно не найдено");
 
 Top
Ilya001
Отправлено: 16 Апреля, 2022 - 19:30:00
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 Zireael пишет:
По байтам посмотрите что читается
(для просмотра ссылки Вам необходимо авторизоваться) - вот так)
Что не так?

(Отредактировано автором: 16 Апреля, 2022 - 19:31:37)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by