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

Страниц (24): В начало « ... 14 15 16 17 [18] 19 20 21 22 ... » В конец
 

171. Kibor - 04 Апреля, 2019 - 07:04:08 - перейти к сообщению
codhexi раньше могла считать до 4 только байт
сейчас до 8. в int не влазит. Возвращает double
172. 007wan - 08 Июня, 2019 - 04:36:44 - перейти к сообщению
Kibor , Что-то не верится, что это только для программ. Помню вы писали, что это не для браузерных игр, а почему?
173. AdryV - 08 Июня, 2019 - 17:03:42 - перейти к сообщению
 007wan пишет:
браузерных игр
чет я не понял а в чем то проблема? хоть браузер хоть игра хоть любая другая программа она в любом случае находится в оперативной памяти....
с браузерными играми не сталкивался но думаю что указатель будет выглядеть чет тип такого....
ищем по патерну название окна игры в браузере
далее ищем основной хук и от него уже разбираемся структурой.... но ява это жуть.... в анализе
174. 007wan - 09 Июня, 2019 - 00:16:59 - перейти к сообщению
Теперь понятно почему мне это сказали...
175. Dantes3000 - 23 Мая, 2020 - 14:40:00 - перейти к сообщению
В каких случаях findmemory не может прочитать данные? Пытаюсь хоть что-то найти в мозилле - всегда 0 возвращает.
176. Zireael - 23 Мая, 2020 - 15:02:23 - перейти к сообщению
 Цитата:
Пытаюсь хоть что-то найти в мозилле - всегда 0 возвращает.

Cheat Engine находит? И у мозиллы несколько процессов.
177. Dantes3000 - 23 Мая, 2020 - 15:33:53 - перейти к сообщению
Zireael , находит. Но кибор же открывает не по процессу, а по указателю на окно. Не знаю как у новых, но я специально скачал старую версию мозилы, вижу только один процесс. Версия 56, если что - с ней в можно в фоне работать, в новых версиях уже нельзя.
178. Zireael - 23 Мая, 2020 - 16:10:40 - перейти к сообщению
 Цитата:
Но кибор же открывает не по процессу, а по указателю на окно.

Через winapi можно открыть процесс. https://kibor-bot.com/forum/topi...42957#1587242957
 Цитата:
Версия 56, если что - с ней в можно в фоне работать, в новых версиях уже нельзя.

В режиме совместимости Windows7 работают и новые версии.
На счёт findmemory, надо какой-то пример, что и где не находится.
179. Budni - 28 Января, 2021 - 19:25:46 - перейти к сообщению
Дошли руки разобраться с памятью, но в процессе возникло море вопросов. Сейчас опишу, что я делаю и прошу помочь разобраться где я допускаю ошибку.
1) в СE нахожу нужный адрес 00F0C268

Нажмите для увеличения

2) Кликаю на найденный адрес и нажимаю Ctrl+B и открываю отладчик.

Нажмите для увеличения

3) Наблюдаю как меняются значения и делаю разметку. Синие это нужное мне число. Красные которые меняют значения. Зеленые значения которые не меняются.

Нажмите для увеличения

4) Как истинный профан беру код от сюда и заполняю матрицу по образу и подобию.

Нажмите для увеличения

и запускаю
код (Отобразить)
над окном игры. Получаю ошибку "Ошибка файнд"


На каком этапе я допустил ошибку? Помогите пожалуйста разобраться. И ещё вопрос:
можно без поиска сигнатур прочитать значение из памяти по адресу "00F0C268" и занести его значение в переменную?
180. Kibor - 28 Января, 2021 - 19:52:09 - перейти к сообщению
 Budni пишет:
над окном игры. Получаю ошибку "Ошибка файнд"

Значит не найдено. Маска не правильная.

w_KIB=getwindow(1, x, y);
И указатель быстрее всего надо на окно
w_KIB=getwindow(0, x, y);
Хотя там и так наверно нет указателя на контрол и так тоже будет верно.

 Budni пишет:
можно без поиска сигнатур прочитать значение из памяти по адресу "00F0C268" и занести его значение в переменную?

CODE:
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;


start_();
int prc=openprocess(w_KIB);

messagebox (attack());

function attack()
{
char xp[2];
if (readmemory(#xp[0], 2, 0x00F0C268, prc)!=0)
{
int hps=codhexi(#xp[0], 2);
}
else messagebox("Ошибка рид");
return hps;
}


function start_()
{
pause(1000);
beep(1000, 100);
int x, y;
getmouse(x, y);
//w_KIB=getwindow(1, x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}


Если вы ищите 1 байт, то зачем считываете и выводите 2?
Так достаточно
CODE:
function attack()
{
char xp;
if (readmemory(#xp, 1, 0x00F0C268, prc)!=0)
{
return formatci(xp);
}
else messagebox("Ошибка рид");
return -1;
}

Powered by ExBB FM 1.0 Final