Длл распаковать и закинуть в папку с кибор.
https://drive.google.com/file/d/...view?usp=sharing
Особо не тестил, попробуйте.
CODE:external(INT, "find_memory", "findmemory", "findmemory.dll");
external(INT, "set_step", "set_step", "findmemory.dll");
external(INT, "set_ending", "set_ending", "findmemory.dll");
char poisk[4];
codhex(1339, #poisk[0]); // что искать, число 1339 в данном случае
int adr[9999]; // сюда запишутся найденные адреса
int Pid=findprocess("l2.exe"); // имя процесса
if (Pid != -1)
{
int prc = openprocess(Pid);
if(prc>0)
{
//set_ending("40"); // окончание адреса в hex
//set_step(4); // шаг поиска, по умолчанию 1
int t = gettime();
int result = find_memory(sizearray(adr), address(#poisk[0]), 4, address(#adr[0]), 0x0E20C840, 0x13B01740, prc);
messagebox("Найдено адресов: "+format(result)+"^r^nЗатрачено времени: "+format(gettime()-t));
if(result)
{
messagebox(adr[0]); // первый найденный адрес
}
}
else messagebox("Процесс не открылся");
}
else messagebox("Процесс на найден");
Параметры функции find_memory:
1 - сколько искать адресов
2 - адрес массива с данными для поиска
3 - сколько искать байт
4 - адрес массива, в который запишутся найденные адреса
5 - адрес начала поиска
6 - адрес конца поиска или -1 искать все.
7- процесс, в котором искать.
Функция set_ending принимает строку, которой должен заканчиваться адрес.
Например set_ending("A4" ); будут найдены только адреса, которые оканчиваются A4, т. е. 0D9D8CA4, 2B4C25A4 и подобные.
Функции set_step принимает шаг поиска. Для чисел имеет смысл указывать 4.