Описание: Работа с памятью процесса. Поиск, чтение, запись в память процесса игры |
Поиск в теме | Версия для печати |
AdryV |
Отправлено: 09 Июня, 2019 - 01:03:42
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
007wan пишет: браузерных игр чет я не понял а в чем то проблема? хоть браузер хоть игра хоть любая другая программа она в любом случае находится в оперативной памяти....
с браузерными играми не сталкивался но думаю что указатель будет выглядеть чет тип такого....
ищем по патерну название окна игры в браузере
далее ищем основной хук и от него уже разбираемся структурой.... но ява это жуть.... в анализе(Отредактировано автором: 09 Июня, 2019 - 01:06:19) |
|
|
Zireael |
Отправлено: 23 Мая, 2020 - 23:02:23
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Пытаюсь хоть что-то найти в мозилле - всегда 0 возвращает.
Cheat Engine находит? И у мозиллы несколько процессов.(Отредактировано автором: 23 Мая, 2020 - 23:05:03) |
|
|
Zireael |
Отправлено: 24 Мая, 2020 - 00:10:40
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Но кибор же открывает не по процессу, а по указателю на окно.
Через winapi можно открыть процесс. https://kibor-bot.com/forum/topi...42957#1587242957
Цитата: Версия 56, если что - с ней в можно в фоне работать, в новых версиях уже нельзя.
В режиме совместимости Windows7 работают и новые версии.
На счёт findmemory, надо какой-то пример, что и где не находится. |
|
|
Budni |
Отправлено: 29 Января, 2021 - 03:25:46
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Дошли руки разобраться с памятью, но в процессе возникло море вопросов. Сейчас опишу, что я делаю и прошу помочь разобраться где я допускаю ошибку.
1) в СE нахожу нужный адрес 00F0C268
Нажмите для увеличения
2) Кликаю на найденный адрес и нажимаю Ctrl+B и открываю отладчик.
Нажмите для увеличения
3) Наблюдаю как меняются значения и делаю разметку. Синие это нужное мне число. Красные которые меняют значения. Зеленые значения которые не меняются.
Нажмите для увеличения
4) Как истинный профан беру код от сюда и заполняю матрицу по образу и подобию.
Нажмите для увеличения
и запускаю код (Отобразить)
CODE:char b_poisk[16];
char b_mask[16];
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
b_poisk[4]=150; //96
b_poisk[12]=86; //56
b_poisk[13]=9; //09
b_mask[0]=0; b_mask[10]=0;
b_mask[1]=0; b_mask[11]=0;
b_mask[2]=0; b_mask[12]=1;
b_mask[3]=0; b_mask[13]=1;
b_mask[4]=1; b_mask[14]=0;
b_mask[5]=0; b_mask[15]=0;
b_mask[6]=0;
b_mask[7]=0;
b_mask[8]=0;
b_mask[9]=0;
start_();
int prc=openprocess(w_KIB);
loop() {attack();}
function attack()
{
char xp[2];
int adr;
if (findmemorymask (1, #b_poisk[0], 16, #adr, 0, #b_mask[0], 100, prc)==1)
{
if (readmemory(#xp[0], 2, adr, prc)!=0)
{
int hps=codhexi(#xp[0], 2);
} else messagebox("Ошибка рид");
textout(0, 948, 21, "нашел - "+format(hps), 0);
} else messagebox("Ошибка файнд");
return hps;
}
function start_()
{
pause(1000);
beep(1000, 100);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
над окном игры. Получаю ошибку "Ошибка файнд"
На каком этапе я допустил ошибку? Помогите пожалуйста разобраться. И ещё вопрос:
можно без поиска сигнатур прочитать значение из памяти по адресу "00F0C268" и занести его значение в переменную? |
|
|
Kibor |
Отправлено: 29 Января, 2021 - 03:52:09
|
Эксперт
Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
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;
} |
|
|
|
Поиск в теме | Версия для печати |
Страниц (24): В начало « 14 15 16 17 [18] 19 20 21 22 » В конец |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« О программе Кибор » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|