Читаю учебник по паскалю первый, ужасно туплю, т.к логика - не моё и до работы с памятью ещё не дошёл, если не сдамся, то ещё пару книг осилю.)
А так укого есть простенький исходник к какой либо игре из вк жанра "3 в ряд", то прошу в ЛС. Потом для себя подробно уже разберу, со вспомогательными источниками знаний. Шаблон на делфике.
Последний раз редактировалось koksh9; 08.08.2015 в 17:33.
Читаю учебник по паскалю первый, ужасно туплю, т.к логика - не моё и до работы с памятью ещё не дошёл, если не сдамся, то ещё пару книг осилю.)
А так укого есть простенький исходник к какой либо игре из вк жанра "3 в ряд", то прошу в ЛС. Потом для себя подробно уже разберу, со вспомогательными источниками знаний. Шаблон на делфике.
Как то писал об этом возможно это тебе поможет.
Работа с памятью игры Lineage поиск базового адреса
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
hWin: hWnd;
ProcId: Cardinal;
hProc: THandle;
AdressW: dword; //сюда прочитаем адрес из указателя.
Adress: dword;
readwrite: cardinal;
begin
hWin := FindWindow(nil,'Lineage II');//Найдем окно с заголовком Lineage II
GetWindowThreadProcessId(hWin, @ProcId);
hProc := OpenProcess(Process_All_Access, False, ProcId);
AdressW:=$1EA824C;//Запишем начальный адрес
begin
ReadProcessMemory(hProc, pointer(AdressW), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$5f4), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$5f0), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$648), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$30c), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$678), @Adress, 4, readwrite);//Читаем адрес из указателя
label1.Caption:=IntToStr(Adress);
CloseHandle(hProc);
end;
end;
end.
Вот конечный результат:[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось RenatPro; 08.08.2015 в 19:21.
Работа с памятью игры Lineage поиск базового адреса
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
hWin: hWnd;
ProcId: Cardinal;
hProc: THandle;
AdressW: dword; //сюда прочитаем адрес из указателя.
Adress: dword;
readwrite: cardinal;
begin
hWin := FindWindow(nil,'Lineage II');//Найдем окно с заголовком Lineage II
GetWindowThreadProcessId(hWin, @ProcId);
hProc := OpenProcess(Process_All_Access, False, ProcId);
AdressW:=$1EA824C;//Запишем начальный адрес
begin
ReadProcessMemory(hProc, pointer(AdressW), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$5f4), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$5f0), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$648), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$30c), @Adress, 4, readwrite); //Читаем адрес из указателя
ReadProcessMemory(hProc, pointer(Adress+$678), @Adress, 4, readwrite);//Читаем адрес из указателя
label1.Caption:=IntToStr(Adress);
CloseHandle(hProc);
end;
end;
end.
Вот конечный результат:[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Будем разбираться.
Добавлено через 26 минут
Ладно, надо читать читать и ещё раз читать....
Последний раз редактировалось koksh9; 09.08.2015 в 00:57.
Причина: Добавлено сообщение