CODE:
function(Adr)
{
int
razm, //Размер в байтах
adr[1000000], //1000000
new_adr[1000000],
N,
prc=openprocess(w[0]); //Открываем процесс Игры
char
poisk[8];
razm=codhex(2314, #poisk[0]); //Значение НР конвертируем искомое число в HEX
messagebox("Размер "+format(razm)+" байта");
N=findmemory (-1, #poisk[0], razm, #adr[0], 0, prc); //Сколько адресов нашли
messagebox("Нашли "+format(N)+" адресов");
razm=codhex(1814, #poisk[0]); //Снимаем эквип
messagebox("Новый размер "+format(razm)+" байта, снимаем эквип");
char
read[8];
int Count=0;
for(i=0; i<N; i++) //Перебираем адреса
{
readmemory(#read[0], razm, adr[i], prc); //Читаем память по адресу
for(l=0; l<razm; l++) //Сравниваем байты
{
if(read[l]!=poisk[l])
{
break;
}
}
if(l==razm) //Если совпал каждый байт
{
Count++;
new_adr[Count-1]=adr[i];
}
}
messagebox("Совпало "+format(Count)+" адресов");
razm=codhex(9000, #poisk[0]); //Задаем новое значение НР
for(i=0; i<Count; i++) //Записываем в совпавшие адреса
{
writememory(#poisk[0], razm, new_adr[i], prc);
}
}
function(Adr)
{
int
razm, //Размер в байтах
adr[1000000], //1000000
new_adr[1000000],
N,
prc=openprocess(w[0]); //Открываем процесс Игры
char
poisk[8];
razm=codhex(2314, #poisk[0]); //Значение НР конвертируем искомое число в HEX
messagebox("Размер "+format(razm)+" байта");
N=findmemory (-1, #poisk[0], razm, #adr[0], 0, prc); //Сколько адресов нашли
messagebox("Нашли "+format(N)+" адресов");
razm=codhex(1814, #poisk[0]); //Снимаем эквип
messagebox("Новый размер "+format(razm)+" байта, снимаем эквип");
char
read[8];
int Count=0;
for(i=0; i<N; i++) //Перебираем адреса
{
readmemory(#read[0], razm, adr[i], prc); //Читаем память по адресу
for(l=0; l<razm; l++) //Сравниваем байты
{
if(read[l]!=poisk[l])
{
break;
}
}
if(l==razm) //Если совпал каждый байт
{
Count++;
new_adr[Count-1]=adr[i];
}
}
messagebox("Совпало "+format(Count)+" адресов");
razm=codhex(9000, #poisk[0]); //Задаем новое значение НР
for(i=0; i<Count; i++) //Записываем в совпавшие адреса
{
writememory(#poisk[0], razm, new_adr[i], prc);
}
}