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

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

 Страниц (24): В начало « 8 9 10 11 [12] 13 14 15 16 » В конец    

> Описание: Работа с памятью процесса. Поиск, чтение, запись в память процесса игры
Diablo2
Отправлено: 23 Мая, 2018 - 18:15:47
Post Id



Пользователь
Прохожий


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




Трям всем.
Пытаюсь получить координаты в Diablo 2, координаты смотрю в artmoney и затем пробую найти их в Киборе, но мне кажется все глохнет еще на получении процесса. Он почему-то всегда равен 0, хотя на калькулятор всегда выводится разное число. Вот что пишу

CODE:
win wind=window ("Diablo II");
int prc=openprocess(wind);

char poisk[4];
codhex(999, #poisk[0]);

int adr[100000];
int found = findmemory (-1, #poisk[0], 4, #adr[0], 50424480, prc);

messagebox("process #" + format(prc) + "; found count: " + format(found));


Сообщение выводит очень быстро, как будто ничего и не искал. Может дело в Windows XP, или тут все равно какая винда?
 
 Top
Kibor
Отправлено: 23 Мая, 2018 - 18:28:15
Post Id



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


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




А readmemory что показывает по этому адресу?
 
 Top
Diablo2
Отправлено: 23 Мая, 2018 - 19:08:53
Post Id



Пользователь
Прохожий


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




 Kibor пишет:
А readmemory что показывает по этому адресу?


-842150451; char:H; read_result:0; proc# 0
Ожидал увидеть координату 999

Код (Отобразить)
 
 Top
Kibor
Отправлено: 23 Мая, 2018 - 19:16:49
Post Id



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


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




Либо указатель, либо адрес неверный.
 
 Top
Diablo2
Отправлено: 23 Мая, 2018 - 19:26:15
Post Id



Пользователь
Прохожий


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




Думаю дело не в адресе, чтобы я не указал, всегда один и тот же результат. А вот тот факт что процесс всегда равен 0 меня смущает.
 
 Top
Kibor
Отправлено: 23 Мая, 2018 - 19:43:27
Post Id



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


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




 Diablo2 пишет:
А вот тот факт что процесс всегда равен 0 меня смущает

Ну ясно. Процесс не открыт. Укажите указатель по другим параметрам.
 
 Top
Overdose5530
Отправлено: 11 Июня, 2018 - 20:12:44
Post Id



Пользователь
Наблюдатель


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




Здравствуйте. Сделал маску на поиск структуры других персонажей. Вот проблема в том что я не знаю как искать все адреса. У меня находит только 1н первый встречный Закатив глазки обычно это персонаж на локации рандомно. Хочу сделать что бы находило все адреса и переписывало нужный мне байт. Пример кода ниже. Вопрос к тем кто понимает - как мне находить все адреса а не 1н как у меня?


win k;
while(getkeystate(192)==0)sleep(10);
getmouse(x, y);
k=getwindow(1, x, y);
ex_KIB=k.widthclient; ey_KIB=k.heightclient;

int x, y, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int adr[1000], aktiv1[50][50];
int prc=openprocess(k);
char poisk[189], mask[189], a134[1];

codhex(100, #a134[0]); //

poisk[0]=88; // 58
poisk[1]=186; // BA
poisk[2]=145; // 91
poisk[72]=160; // A0
poisk[73]=186; // BA
poisk[74]=145; // 91
poisk[170]=15; // 0F
poisk[172]=3; // 03
poisk[173]=3; // 03
poisk[184]=7; // 07
poisk[188]=30; // 1E

mask[0]=1;
mask[1]=1;
mask[2]=1;
mask[72]=1;
mask[73]=1;
mask[74]=1;
mask[170]=1;
mask[172]=1;
mask[173]=1;
mask[184]=1;
mask[188]=1;

a:
if (findmemorymask (1, #poisk[0], 189, #adr[0], 0, #mask[0], 100, prc)==1)
{
writememory(#a134[0], 1, adr[0]+20, prc); // Цвет тело
sleep(500);
goto a;
}
 
 Top
Zireael
Отправлено: 11 Июня, 2018 - 20:45:27
Post Id



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


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




 Цитата:
как мне находить все адреса

Первый параметр отвечает за количество искомых адресов. Т. е вместо 1 ставьте -1, либо нужное число.
CODE:
findmemorymask (-1, #poisk[0], 189, #adr[0], 0, #mask[0], 100, prc)

Вернёт количество найденных адресов. adr[0] - первый адрес, adr[1] - второй и т. д.
 
 Top
Overdose5530
Отправлено: 11 Июня, 2018 - 20:52:04
Post Id



Пользователь
Наблюдатель


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




Вот блин. я это знал но почему то не получалось раньше. щас попробовал и все норм. Благодарю за ответ Радость
 
 Top
Overdose5530
Отправлено: 04 Августа, 2018 - 12:57:30
Post Id



Пользователь
Наблюдатель


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




Здравствуйте. Цифры, английские буквы легко конвертировать калькулятором в HEX и найти нужные значения в игре. Вопрос - можно ли в играх найти слово на кирилице и как? Хочу находить нужное мне слово на кирилице и заменя на свое слово в игре.
 
 Top
Страниц (24): В начало « 8 9 10 11 [12] 13 14 15 16 » В конец
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0)
« О программе Кибор »


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




Powered by