Перейти на форум Кибор

Справочник по программированию Кибор

Переменные
Операторы
Функции
Указатель на окно
Управление окнами
Чтение запись в процессы
Работа с интернетом

Чтение запись в процессы

findmemory

Описание:

findmemory - с помощью этой функции можно производить поиск любых данных в памяти процесса.

Синтаксис:

findmemory (-1, #poisk[0], 8, #adr[0], 25567892, prc);

Дополнительно:

findmemory принимает 6 параметров.
Первый - максимальное количество найденных адресов с данными. Если указать -1 ищутся все.
Второй - указатель на масив char, в котором записаны данные которые надо искать.
Третий - количество байт, которые надо искать.
Четвертый - указатель на массив int, в который записыватся найденные адреса.
Пятый - адрес с которого произвести поиск. Для первого вызова можно 0.
Шестой - идентификатор процесса полученный openprocess.

Возвращает количество найденных адресов. При ошибке возврат -1 - размер принимаемого масива меньше колическтва адресов, -2 - количество поиска 0.

Пример:

char a[20];
string poisk="ищем этот текст";
strcpy(#a[0], poisk);//Записываем string в массив char
int siz=size(#a[0]);//Узнаем количество байт в массиве
int b[999999];
win w=window ("RF Online", "D3D Window", -1);//Указатель на окно игры
int prc=openprocess(w);
findmemory (-1, #a[0], siz, #b[0], 0, prc);

Пример поика по одному адресу в цикле:
char a[20];
string poisk="ищем этот текст";
strcpy(#a[0], poisk);//Записываем string в массив char
int siz=size(#a[0]);//Узнаем количество байт в массиве
int b;
win w=window ("RF Online", "D3D Window", -1);//Указатель на окно игры
int prc=openprocess(w);
b=0;
e: if (findmemory (1, #a[0], siz, #b, b+1, prc)>0)
{
//Тут что то делаем с адресом или значением в нем
goto e;
}