![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
а можите подсказать какие небуть норм программы типа артмани
для работы с памятью других программ некак немогу научиться находить указатели( (пробывал через отладчик игра вылетает) |
|
#17
|
||||
|
||||
|
Проще всего, играть честно.
|
|
#18
|
|||
|
|||
|
Цитата:
уже есть такие программы которые делают то что я пытаясь сделать я лиш хочу повторить то что они делают, просто делать программы для игры наверное интересней (особенно если раньше играл в эту игру и у тя есть знакомые которые в неё шас играют) чем просто брать искать в каком нибуть блакноте указатели для того чтоб научиться их искать, на игре это делать болиее интересние |
|
#19
|
|||
|
|||
|
а значенте вот этого: openprocess();
у меня почемуто всегда = 0 вообщем делаю так: Код:
procedure TForm1.findClick(Sender: TObject); begin idproc:=GetWindowThreadProcessId(Wnd); pidproc.Caption:=IntToStr(idproc); hproc:=OpenProcess(PROCESS_VM_READ, False, idproc); hprocp.Caption:=IntToStr(hproc); end; или оно и должно = 0? Последний раз редактировалось unity, 30.10.2011 в 13:41. |
|
#20
|
||||
|
||||
|
Цитата:
wnd как находишь?? Адресок то нужный нашел?? |
|
#21
|
|||
|
|||
|
Цитата:
Код:
procedure TForm1.zahvatClick(Sender: TObject);
begin
hwndtmr.Enabled:= Not(hwndtmr.Enabled);
end;
procedure TForm1.hwndtmrTimer(Sender: TObject);
begin
if (getasynckeystate($24)<>0) then //условия на то чтоб было нажатие кнопки
begin
GetCursorPos( Pos ); //определяет координаты курсора
Wnd:= WindowFromPoint( Pos );//запоминает хвид окна который под курсорам
hwndtmr.Enabled:= Not(hwndtmr.Enabled);
ShowMessage('окно захваченно!');
hwndpole.Caption:=inttostr(wnd);
end
end;хэндл окна находи правельно и pid тоже вроде правельно а какой адресок надо еще искать? Последний раз редактировалось unity, 30.10.2011 в 15:50. |
|
#22
|
||||
|
||||
|
находи так: wnd:=findwindow(nil,'Название приложения');
Адрес, в котором хранится значения "жизни" |
|
#23
|
|||
|
|||
|
все получилось, ошибка была в
idproc:=GetWindowThreadProcessId(Wnd, @(тут нехватало переменной дапустим а)); hproc:=OpenProcess(PROCESS_VM_READ, False,(и тут нехыватало переменной а) ); вазник такой вопрос как найти в пмяти программы адреса которые хранят опред значение (напримерр мне нужны все ячейки памяти программы которые содержат текст help) т.е тоже что делает арт мани когда жмеш найти значения 123 и те даеться такой список адресов какя функция делает это в делфи? Последний раз редактировалось unity, 30.10.2011 в 17:32. |
|
#24
|
||||
|
||||
|
объясни, пожалуйста, что ты хочешь сделать??????????
|
|
#25
|
|||
|
|||
|
Цитата:
на данном этапе мне нада просканировать всю память игры и найти адреса где храниться определенное значение пример: найти в памяти игры ячейки содержашие слово "help" как такое сделать? (не в артмани конечно, а в делфи) |
|
#26
|
||||
|
||||
|
зачем этот сканер делать в delphi, чем artmoney не устраивает...
|
|
#27
|
|||
|
|||
|
Цитата:
чтобы научиться делать такое в delphi |
|
#28
|
||||
|
||||
|
Цитата:
readprocessmemory() и да, по-моему, тема этой ветки форума была другой........... |
|
#29
|
|||
|
|||
|
насколько я знаю в оперативной памяти, память программы занимает
неприрывнй блок как мне узнать адрес первой и последнией ячейки той области памяти которуя используеться программой |