Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.02 Работа с памятью процесса. Поиск, чтение, запись в память процесса игры

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

91. AdryV - 06 Декабря, 2017 - 23:51:39 - перейти к сообщению
 Dantes3000 пишет:
было бы еще проще, если бы маску можно было заполнять как поиск.

вот.... у меня прекрасно работает)

код (Отобразить)

хм)
92. Kibor - 07 Декабря, 2017 - 01:45:27 - перейти к сообщению
 AdryV пишет:
у меня прекрасно работает

Это странно)
надо не n2>148 а n2<148
CODE:
char maskRXP[148];
maskRXP[0]=1;
maskRXP[1]=1;
maskRXP[41]=1;
maskRXP[42]=1;
maskRXP[43]=1;
maskRXP[44]=1;
maskRXP[76]=1;
for(int n2=0; n2>148; n2++)
{
messagebox("");//никогда в цикл не войдет так как n2 никак не больше 148
if(maskRXP[n2]!=1)
{
maskRXP[n2]=0;
}
}


так проще
CODE:
for(int n2=0; n2<148; n2++)maskRXP[n2]=0;

maskRXP[0]=1;
maskRXP[1]=1;
maskRXP[41]=1;
maskRXP[42]=1;
maskRXP[43]=1;
maskRXP[44]=1;
maskRXP[76]=1;
93. AdryV - 07 Декабря, 2017 - 08:08:20 - перейти к сообщению
 Kibor пишет:
Это странно)
надо не n2>148 а n2<148

видимо в том скрипте мало что было искать так что оно всегда находило))) и спасиб что тыкнули в ошибку а то с большим скриптом поиска мучался и не замечал из-за чего проблема

 Kibor пишет:
for(int n2=0; n2<148; n2++)maskRXP[n2]=0;

maskRXP[0]=1;

еще лучше!! сначала всему массиву присваивается 0 а после нужному массиву присваиваем 1 идеально))) че я не додумался) Здорово
94. AdryV - 09 Января, 2018 - 06:28:45 - перейти к сообщению
 Kibor пишет:
findmemory (-1, #poisk[0], 8, #adr[0], 25567892, prc);
Ищем 8 байт записанных в массив char poisk, начиная с адреса 25567892 в процессе prc.

а возможно ли как нить ограничить поиск
скажем от адреса 25567892 до адреса 45567892?
так как зачем мне дальше искать адреса, если нужных адресов просто напросто уже нет, хотя после него еще идет столько же кода памяти
95. 007wan - 10 Января, 2018 - 01:50:24 - перейти к сообщению
AdryV ,
 AdryV пишет:
скажем от адреса 25567892 до адреса 45567892?
Я в этом не шарю, но дипазон от 25567892 до адреса 45567892 очень много. Я думаю добавить к числу 25567892 переменную или просто слагаемое 1 и он будет прибавлять 1 и искать если не нашел, то снова прибавляет и ищет...Но это очень долго будет.
(Добавление)
 AdryV пишет:
 Kibor пишет:
findmemory (-1, #poisk[0], 8, #adr[0], 25567892, prc);
Ищем 8 байт записанных в массив char poisk, начиная с адреса 25567892 в процессе prc.

а возможно ли как нить ограничить поиск
скажем от адреса 25567892 до адреса 45567892?
так как зачем мне дальше искать адреса, если нужных адресов просто напросто уже нет, хотя после него еще идет столько же кода памяти

CODE:

int a=0;
loop()
{
findmemory (-1, #poisk[0], 8, #adr[0], 25567892+a, prc);
a++;
}

(Добавление)
Поставь в таймер и он будет искать вне скрипта и последующий код не будет мешать, а там уже как-нибудь сделаешь в цикле если нашел, то...
96. AdryV - 10 Января, 2018 - 11:17:41 - перейти к сообщению
 007wan пишет:
Я в этом не шарю, но дипазон от 25567892 до адреса 45567892 очень много

ну эт еще нормально дет 5 сек переискивает 4байта максимум 200 адресов... а вообще память нужной мне игры уж куда больше поэтому и спрашиваю
как ограничить поиск?)
дело в том что искать по конкретным адресам получится чет типа такой каши
код (Отобразить)

куча адресов, куча указателей... да работает быстро, но тяжело найти все возможные адреса... и потом проделывать расчеты
поэтому нашел один указатель который есть только в нужных мне местах и ищу этот адрес и от него уже расчитываю данные и параметры... но поиск 200-ти одинаковых указателей занимает время около 10-20 сек смотря сколько памяти игра на данный момент занимает...

////////////
так вот мне нужно ограничить зону поиска 4-х байт от 25567892 до 45567892 потому что дальше есть еще память где то так 445567892 а то и больше... куча текста и всякой балабурды
+ в добавок есть довольно большие участки памяти которые пустые тоисть ??????????????????
к примеру:
от 25567892 до 45567892 находит 46 адресов
между 45567892 и 75567892 пусто
от 75567892 до 95567892 находит 54
ну в общем и тд...
97. Kibor - 10 Января, 2018 - 12:26:30 - перейти к сообщению
Эта функция производит поиск не тупо по всем регионам, а только по тем где могут быть данные. Так что не факт при указание большого адреса будет сканирование всех регионов.
98. Dantes3000 - 23 Января, 2018 - 11:44:08 - перейти к сообщению
Spoiler (Отобразить)


почему такая ошибка?
99. Zireael - 23 Января, 2018 - 11:51:00 - перейти к сообщению
CODE:
if(findmemorymask(1, xy_kurs_p[0], 4, #adr, 0, xy_kurs_m[0], 100, prc)==1)

Передавать надо указатель на массив #xy_kurs_p[0] и #xy_kurs_m[0].
100. Dantes3000 - 23 Января, 2018 - 11:55:18 - перейти к сообщению
Хммм...

Спасибо

Powered by ExBB FM 1.0 Final